---
title: "Get a pull request"
method: GET
path: "/repos/{owner}/{repo}/pulls/{pull_number}"
tags: ["pulls"]
---

# Get a pull request

`GET /repos/{owner}/{repo}/pulls/{pull_number}`

Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/enterprise-server@3.5/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.

Lists details of a pull request by providing its number.

When you get, [create](https://docs.github.com/enterprise-server@3.5/rest/reference/pulls/#create-a-pull-request), or [edit](https://docs.github.com/enterprise-server@3.5/rest/reference/pulls#update-a-pull-request) a pull request, GitHub Enterprise Server creates a merge commit to test whether the pull request can be automatically merged into the base branch. This test commit is not added to the base branch or the head branch. You can review the status of the test commit using the `mergeable` key. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/enterprise-server@3.5/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)".

The value of the `mergeable` attribute can be `true`, `false`, or `null`. If the value is `null`, then GitHub Enterprise Server has started a background job to compute the mergeability. After giving the job time to complete, resubmit the request. When the job finishes, you will see a non-`null` value for the `mergeable` attribute in the response. If `mergeable` is `true`, then `merge_commit_sha` will be the SHA of the _test_ merge commit.

The value of the `merge_commit_sha` attribute changes depending on the state of the pull request. Before merging a pull request, the `merge_commit_sha` attribute holds the SHA of the _test_ merge commit. After merging a pull request, the `merge_commit_sha` attribute changes depending on how you merged the pull request:

*   If merged as a [merge commit](https://docs.github.com/enterprise-server@3.5/articles/about-merge-methods-on-github/), `merge_commit_sha` represents the SHA of the merge commit.
*   If merged via a [squash](https://docs.github.com/enterprise-server@3.5/articles/about-merge-methods-on-github/#squashing-your-merge-commits), `merge_commit_sha` represents the SHA of the squashed commit on the base branch.
*   If [rebased](https://docs.github.com/enterprise-server@3.5/articles/about-merge-methods-on-github/#rebasing-and-merging-your-commits), `merge_commit_sha` represents the commit that the base branch was updated to.

Pass the appropriate [media type](https://docs.github.com/enterprise-server@3.5/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats.

## Path parameters

- `owner` string, required
- `repo` string, required
- `pull_number` integer, required

## Response `200`

Pass the appropriate [media type](https://docs.github.com/enterprise-server@3.5/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats.

- PullRequest — Pull requests let you tell others about changes you've pushed to a repository on GitHub. Once a pull request is sent, interested parties can review the set of changes, discuss potential modifications, and even push follow-up commits if necessary.
  - `url` string, uri, required
  - `id` integer, required
  - `node_id` string, required
  - `html_url` string, uri, required
  - `diff_url` string, uri, required
  - `patch_url` string, uri, required
  - `issue_url` string, uri, required
  - `commits_url` string, uri, required
  - `review_comments_url` string, uri, required
  - `review_comment_url` string, required
  - `comments_url` string, uri, required
  - `statuses_url` string, uri, required
  - `number` integer, required — Number uniquely identifying the pull request within its repository.
  - `state` 'open' | 'closed', required — State of this Pull Request. Either `open` or `closed`.
  - `locked` boolean, required
  - `title` string, required — The title of the pull request.
  - `user` SimpleUser, required — A GitHub user.
    - `name` string, nullable
    - `email` string, nullable
    - `login` string, required
    - `id` integer, required
    - `node_id` string, required
    - `avatar_url` string, uri, required
    - `gravatar_id` string, nullable, required
    - `url` string, uri, required
    - `html_url` string, uri, required
    - `followers_url` string, uri, required
    - `following_url` string, required
    - `gists_url` string, required
    - `starred_url` string, required
    - `subscriptions_url` string, uri, required
    - `organizations_url` string, uri, required
    - `repos_url` string, uri, required
    - `events_url` string, required
    - `received_events_url` string, uri, required
    - `type` string, required
    - `site_admin` boolean, required
    - `starred_at` string
  - `body` string, nullable, required
  - `labels` object[], required
    - `id` integer, required
    - `node_id` string, required
    - `url` string, required
    - `name` string, required
    - `description` string, nullable, required
    - `color` string, required
    - `default` boolean, required
  - `milestone` NullableMilestone, nullable, required — A collection of related issues and pull requests.
    - `url` string, uri, required
    - `html_url` string, uri, required
    - `labels_url` string, uri, required
    - `id` integer, required
    - `node_id` string, required
    - `number` integer, required — The number of the milestone.
    - `state` 'open' | 'closed', required — The state of the milestone.
    - `title` string, required — The title of the milestone.
    - `description` string, nullable, required
    - `creator` NullableSimpleUser, nullable, required — A GitHub user.
      - `name` string, nullable
      - `email` string, nullable
      - `login` string, required
      - `id` integer, required
      - `node_id` string, required
      - `avatar_url` string, uri, required
      - `gravatar_id` string, nullable, required
      - `url` string, uri, required
      - `html_url` string, uri, required
      - `followers_url` string, uri, required
      - `following_url` string, required
      - `gists_url` string, required
      - `starred_url` string, required
      - `subscriptions_url` string, uri, required
      - `organizations_url` string, uri, required
      - `repos_url` string, uri, required
      - `events_url` string, required
      - `received_events_url` string, uri, required
      - `type` string, required
      - `site_admin` boolean, required
      - `starred_at` string
    - `open_issues` integer, required
    - `closed_issues` integer, required
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
    - `closed_at` string, date-time, nullable, required
    - `due_on` string, date-time, nullable, required
  - `active_lock_reason` string, nullable
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required
  - `closed_at` string, date-time, nullable, required
  - `merged_at` string, date-time, nullable, required
  - `merge_commit_sha` string, nullable, required
  - `assignee` NullableSimpleUser, nullable, required — A GitHub user.
    - `name` string, nullable
    - `email` string, nullable
    - `login` string, required
    - `id` integer, required
    - `node_id` string, required
    - `avatar_url` string, uri, required
    - `gravatar_id` string, nullable, required
    - `url` string, uri, required
    - `html_url` string, uri, required
    - `followers_url` string, uri, required
    - `following_url` string, required
    - `gists_url` string, required
    - `starred_url` string, required
    - `subscriptions_url` string, uri, required
    - `organizations_url` string, uri, required
    - `repos_url` string, uri, required
    - `events_url` string, required
    - `received_events_url` string, uri, required
    - `type` string, required
    - `site_admin` boolean, required
    - `starred_at` string
  - `assignees` SimpleUser[], nullable
    - `name` string, nullable
    - `email` string, nullable
    - `login` string, required
    - `id` integer, required
    - `node_id` string, required
    - `avatar_url` string, uri, required
    - `gravatar_id` string, nullable, required
    - `url` string, uri, required
    - `html_url` string, uri, required
    - `followers_url` string, uri, required
    - `following_url` string, required
    - `gists_url` string, required
    - `starred_url` string, required
    - `subscriptions_url` string, uri, required
    - `organizations_url` string, uri, required
    - `repos_url` string, uri, required
    - `events_url` string, required
    - `received_events_url` string, uri, required
    - `type` string, required
    - `site_admin` boolean, required
    - `starred_at` string
  - `requested_reviewers` SimpleUser[], nullable
    - `name` string, nullable
    - `email` string, nullable
    - `login` string, required
    - `id` integer, required
    - `node_id` string, required
    - `avatar_url` string, uri, required
    - `gravatar_id` string, nullable, required
    - `url` string, uri, required
    - `html_url` string, uri, required
    - `followers_url` string, uri, required
    - `following_url` string, required
    - `gists_url` string, required
    - `starred_url` string, required
    - `subscriptions_url` string, uri, required
    - `organizations_url` string, uri, required
    - `repos_url` string, uri, required
    - `events_url` string, required
    - `received_events_url` string, uri, required
    - `type` string, required
    - `site_admin` boolean, required
    - `starred_at` string
  - `requested_teams` TeamSimple[], nullable
    - `id` integer, required — Unique identifier of the team
    - `node_id` string, required
    - `url` string, uri, required — URL for the team
    - `members_url` string, required
    - `name` string, required — Name of the team
    - `description` string, nullable, required — Description of the team
    - `permission` string, required — Permission that the team will have for its repositories
    - `privacy` string — The level of privacy this team should have
    - `html_url` string, uri, required
    - `repositories_url` string, uri, required
    - `slug` string, required
    - `ldap_dn` string — Distinguished Name (DN) that team maps to within LDAP environment
  - `head` object, required
    - `label` string, required
    - `ref` string, required
    - `repo` object, nullable, required
      - `archive_url` string, required
      - `assignees_url` string, required
      - `blobs_url` string, required
      - `branches_url` string, required
      - `collaborators_url` string, required
      - `comments_url` string, required
      - `commits_url` string, required
      - `compare_url` string, required
      - `contents_url` string, required
      - `contributors_url` string, uri, required
      - `deployments_url` string, uri, required
      - `description` string, nullable, required
      - `downloads_url` string, uri, required
      - `events_url` string, uri, required
      - `fork` boolean, required
      - `forks_url` string, uri, required
      - `full_name` string, required
      - `git_commits_url` string, required
      - `git_refs_url` string, required
      - `git_tags_url` string, required
      - `hooks_url` string, uri, required
      - `html_url` string, uri, required
      - `id` integer, required
      - `node_id` string, required
      - `issue_comment_url` string, required
      - `issue_events_url` string, required
      - `issues_url` string, required
      - `keys_url` string, required
      - `labels_url` string, required
      - `languages_url` string, uri, required
      - `merges_url` string, uri, required
      - `milestones_url` string, required
      - `name` string, required
      - `notifications_url` string, required
      - `owner` object, required
        - `avatar_url` string, uri, required
        - `events_url` string, required
        - `followers_url` string, uri, required
        - `following_url` string, required
        - `gists_url` string, required
        - `gravatar_id` string, nullable, required
        - `html_url` string, uri, required
        - `id` integer, required
        - `node_id` string, required
        - `login` string, required
        - `organizations_url` string, uri, required
        - `received_events_url` string, uri, required
        - `repos_url` string, uri, required
        - `site_admin` boolean, required
        - `starred_url` string, required
        - `subscriptions_url` string, uri, required
        - `type` string, required
        - `url` string, uri, required
      - `private` boolean, required
      - `pulls_url` string, required
      - `releases_url` string, required
      - `stargazers_url` string, uri, required
      - `statuses_url` string, required
      - `subscribers_url` string, uri, required
      - `subscription_url` string, uri, required
      - `tags_url` string, uri, required
      - `teams_url` string, uri, required
      - `trees_url` string, required
      - `url` string, uri, required
      - `clone_url` string, required
      - `default_branch` string, required
      - `forks` integer, required
      - `forks_count` integer, required
      - `git_url` string, required
      - `has_downloads` boolean, required
      - `has_issues` boolean, required
      - `has_projects` boolean, required
      - `has_wiki` boolean, required
      - `has_pages` boolean, required
      - `has_discussions` boolean, required
      - `homepage` string, uri, nullable, required
      - `language` string, nullable, required
      - `master_branch` string
      - `archived` boolean, required
      - `disabled` boolean, required
      - `visibility` string — The repository visibility: public, private, or internal.
      - `mirror_url` string, uri, nullable, required
      - `open_issues` integer, required
      - `open_issues_count` integer, required
      - `permissions` object
        - `admin` boolean, required
        - `maintain` boolean
        - `push` boolean, required
        - `triage` boolean
        - `pull` boolean, required
      - `temp_clone_token` string
      - `allow_merge_commit` boolean
      - `allow_squash_merge` boolean
      - `allow_rebase_merge` boolean
      - `license` object, nullable, required
        - `key` string, required
        - `name` string, required
        - `url` string, uri, nullable, required
        - `spdx_id` string, nullable, required
        - `node_id` string, required
      - `pushed_at` string, date-time, required
      - `size` integer, required
      - `ssh_url` string, required
      - `stargazers_count` integer, required
      - `svn_url` string, uri, required
      - `topics` string[]
      - `watchers` integer, required
      - `watchers_count` integer, required
      - `created_at` string, date-time, required
      - `updated_at` string, date-time, required
      - `allow_forking` boolean
      - `is_template` boolean
    - `sha` string, required
    - `user` object, required
      - `avatar_url` string, uri, required
      - `events_url` string, required
      - `followers_url` string, uri, required
      - `following_url` string, required
      - `gists_url` string, required
      - `gravatar_id` string, nullable, required
      - `html_url` string, uri, required
      - `id` integer, required
      - `node_id` string, required
      - `login` string, required
      - `organizations_url` string, uri, required
      - `received_events_url` string, uri, required
      - `repos_url` string, uri, required
      - `site_admin` boolean, required
      - `starred_url` string, required
      - `subscriptions_url` string, uri, required
      - `type` string, required
      - `url` string, uri, required
  - `base` object, required
    - `label` string, required
    - `ref` string, required
    - `repo` object, required
      - `archive_url` string, required
      - `assignees_url` string, required
      - `blobs_url` string, required
      - `branches_url` string, required
      - `collaborators_url` string, required
      - `comments_url` string, required
      - `commits_url` string, required
      - `compare_url` string, required
      - `contents_url` string, required
      - `contributors_url` string, uri, required
      - `deployments_url` string, uri, required
      - `description` string, nullable, required
      - `downloads_url` string, uri, required
      - `events_url` string, uri, required
      - `fork` boolean, required
      - `forks_url` string, uri, required
      - `full_name` string, required
      - `git_commits_url` string, required
      - `git_refs_url` string, required
      - `git_tags_url` string, required
      - `hooks_url` string, uri, required
      - `html_url` string, uri, required
      - `id` integer, required
      - `is_template` boolean
      - `node_id` string, required
      - `issue_comment_url` string, required
      - `issue_events_url` string, required
      - `issues_url` string, required
      - `keys_url` string, required
      - `labels_url` string, required
      - `languages_url` string, uri, required
      - `merges_url` string, uri, required
      - `milestones_url` string, required
      - `name` string, required
      - `notifications_url` string, required
      - `owner` object, required
        - `avatar_url` string, uri, required
        - `events_url` string, required
        - `followers_url` string, uri, required
        - `following_url` string, required
        - `gists_url` string, required
        - `gravatar_id` string, nullable, required
        - `html_url` string, uri, required
        - `id` integer, required
        - `node_id` string, required
        - `login` string, required
        - `organizations_url` string, uri, required
        - `received_events_url` string, uri, required
        - `repos_url` string, uri, required
        - `site_admin` boolean, required
        - `starred_url` string, required
        - `subscriptions_url` string, uri, required
        - `type` string, required
        - `url` string, uri, required
      - `private` boolean, required
      - `pulls_url` string, required
      - `releases_url` string, required
      - `stargazers_url` string, uri, required
      - `statuses_url` string, required
      - `subscribers_url` string, uri, required
      - `subscription_url` string, uri, required
      - `tags_url` string, uri, required
      - `teams_url` string, uri, required
      - `trees_url` string, required
      - `url` string, uri, required
      - `clone_url` string, required
      - `default_branch` string, required
      - `forks` integer, required
      - `forks_count` integer, required
      - `git_url` string, required
      - `has_downloads` boolean, required
      - `has_issues` boolean, required
      - `has_projects` boolean, required
      - `has_wiki` boolean, required
      - `has_pages` boolean, required
      - `has_discussions` boolean, required
      - `homepage` string, uri, nullable, required
      - `language` string, nullable, required
      - `master_branch` string
      - `archived` boolean, required
      - `disabled` boolean, required
      - `visibility` string — The repository visibility: public, private, or internal.
      - `mirror_url` string, uri, nullable, required
      - `open_issues` integer, required
      - `open_issues_count` integer, required
      - `permissions` object
        - `admin` boolean, required
        - `maintain` boolean
        - `push` boolean, required
        - `triage` boolean
        - `pull` boolean, required
      - `temp_clone_token` string
      - `allow_merge_commit` boolean
      - `allow_squash_merge` boolean
      - `allow_rebase_merge` boolean
      - `license` NullableLicenseSimple, nullable, required — License Simple
        - `key` string, required
        - `name` string, required
        - `url` string, uri, nullable, required
        - `spdx_id` string, nullable, required
        - `node_id` string, required
        - `html_url` string, uri
      - `pushed_at` string, date-time, required
      - `size` integer, required
      - `ssh_url` string, required
      - `stargazers_count` integer, required
      - `svn_url` string, uri, required
      - `topics` string[]
      - `watchers` integer, required
      - `watchers_count` integer, required
      - `created_at` string, date-time, required
      - `updated_at` string, date-time, required
      - `allow_forking` boolean
    - `sha` string, required
    - `user` object, required
      - `avatar_url` string, uri, required
      - `events_url` string, required
      - `followers_url` string, uri, required
      - `following_url` string, required
      - `gists_url` string, required
      - `gravatar_id` string, nullable, required
      - `html_url` string, uri, required
      - `id` integer, required
      - `node_id` string, required
      - `login` string, required
      - `organizations_url` string, uri, required
      - `received_events_url` string, uri, required
      - `repos_url` string, uri, required
      - `site_admin` boolean, required
      - `starred_url` string, required
      - `subscriptions_url` string, uri, required
      - `type` string, required
      - `url` string, uri, required
  - `_links` object, required
    - `comments` Link, required — Hypermedia Link
      - `href` string, required
    - `commits` Link, required — Hypermedia Link
      - `href` string, required
    - `statuses` Link, required — Hypermedia Link
      - `href` string, required
    - `html` Link, required — Hypermedia Link
      - `href` string, required
    - `issue` Link, required — Hypermedia Link
      - `href` string, required
    - `review_comments` Link, required — Hypermedia Link
      - `href` string, required
    - `review_comment` Link, required — Hypermedia Link
      - `href` string, required
    - `self` Link, required — Hypermedia Link
      - `href` string, required
  - `author_association` 'COLLABORATOR' | 'CONTRIBUTOR' | 'FIRST_TIMER' | 'FIRST_TIME_CONTRIBUTOR' | 'MANNEQUIN' | 'MEMBER' | 'NONE' | 'OWNER', required — How the author is associated with the repository.
  - `auto_merge` AutoMerge, nullable, required — The status of auto merging a pull request.
    - `enabled_by` SimpleUser, required — A GitHub user.
      - `name` string, nullable
      - `email` string, nullable
      - `login` string, required
      - `id` integer, required
      - `node_id` string, required
      - `avatar_url` string, uri, required
      - `gravatar_id` string, nullable, required
      - `url` string, uri, required
      - `html_url` string, uri, required
      - `followers_url` string, uri, required
      - `following_url` string, required
      - `gists_url` string, required
      - `starred_url` string, required
      - `subscriptions_url` string, uri, required
      - `organizations_url` string, uri, required
      - `repos_url` string, uri, required
      - `events_url` string, required
      - `received_events_url` string, uri, required
      - `type` string, required
      - `site_admin` boolean, required
      - `starred_at` string
    - `merge_method` 'merge' | 'squash' | 'rebase', required — The merge method to use.
    - `commit_title` string, required — Title for the merge commit message.
    - `commit_message` string, required — Commit message for the merge commit.
  - `draft` boolean — Indicates whether or not the pull request is a draft.
  - `merged` boolean, required
  - `mergeable` boolean, nullable, required
  - `rebaseable` boolean, nullable
  - `mergeable_state` string, required
  - `merged_by` NullableSimpleUser, nullable, required — A GitHub user.
    - `name` string, nullable
    - `email` string, nullable
    - `login` string, required
    - `id` integer, required
    - `node_id` string, required
    - `avatar_url` string, uri, required
    - `gravatar_id` string, nullable, required
    - `url` string, uri, required
    - `html_url` string, uri, required
    - `followers_url` string, uri, required
    - `following_url` string, required
    - `gists_url` string, required
    - `starred_url` string, required
    - `subscriptions_url` string, uri, required
    - `organizations_url` string, uri, required
    - `repos_url` string, uri, required
    - `events_url` string, required
    - `received_events_url` string, uri, required
    - `type` string, required
    - `site_admin` boolean, required
    - `starred_at` string
  - `comments` integer, required
  - `review_comments` integer, required
  - `maintainer_can_modify` boolean, required — Indicates whether maintainers can modify the pull request.
  - `commits` integer, required
  - `additions` integer, required
  - `deletions` integer, required
  - `changed_files` integer, required

## Other responses

- `304` — Not modified
- `404` — Resource not found
- `500` — Internal Error
- `503` — Service unavailable

---

[API](https://skmtc.net/github/apis/github-v3-rest-api-4.md) · [All operations](https://skmtc.net/github/apis/github-v3-rest-api-4/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/github/github-v3-rest-api-4/versions/ee6c7a46328e/schema)
