---
title: "Create a fork"
method: POST
path: "/repos/{owner}/{repo}/forks"
tags: ["repos"]
---

# Create a fork

`POST /repos/{owner}/{repo}/forks`

Create a fork for the authenticated user.

**Note**: Forking a Repository happens asynchronously. You may have to wait a short period of time before you can access the git objects. If this takes longer than 5 minutes, be sure to contact [GitHub Enterprise Server Support](https://support.github.com/contact?tags=dotcom-rest-api).

**Note**: Although this endpoint works with GitHub Apps, the GitHub App must be installed on the destination account with access to all repositories and on the source account with access to the source repository.

## Path parameters

- `owner` string, required
- `repo` string, required

## Request body

- object, nullable
  - `organization` string — Optional parameter to specify the organization name if forking into an organization.

## Response `202`

Response

- FullRepository — Full Repository
  - `id` integer, required
  - `node_id` string, required
  - `name` string, required
  - `full_name` string, required
  - `owner` 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
  - `private` boolean, required
  - `html_url` string, uri, required
  - `description` string, nullable, required
  - `fork` boolean, required
  - `url` string, uri, 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
  - `downloads_url` string, uri, required
  - `events_url` string, uri, required
  - `forks_url` string, uri, required
  - `git_commits_url` string, required
  - `git_refs_url` string, required
  - `git_tags_url` string, required
  - `git_url` 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
  - `notifications_url` string, required
  - `pulls_url` string, required
  - `releases_url` string, required
  - `ssh_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
  - `clone_url` string, required
  - `mirror_url` string, uri, nullable, required
  - `hooks_url` string, uri, required
  - `svn_url` string, uri, required
  - `homepage` string, uri, nullable, required
  - `language` string, nullable, required
  - `forks_count` integer, required
  - `stargazers_count` integer, required
  - `watchers_count` integer, required
  - `size` integer, required — The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0.
  - `default_branch` string, required
  - `open_issues_count` integer, required
  - `is_template` boolean
  - `topics` string[]
  - `has_issues` boolean, required
  - `has_projects` boolean, required
  - `has_wiki` boolean, required
  - `has_pages` boolean, required
  - `has_downloads` boolean
  - `archived` boolean, required
  - `disabled` boolean, required — Returns whether or not this repository disabled.
  - `visibility` string — The repository visibility: public, private, or internal.
  - `pushed_at` string, date-time, required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required
  - `permissions` object
    - `admin` boolean, required
    - `maintain` boolean
    - `push` boolean, required
    - `triage` boolean
    - `pull` boolean, required
  - `allow_rebase_merge` boolean
  - `template_repository` NullableRepository, nullable — A repository on GitHub.
    - `id` integer, required — Unique identifier of the repository
    - `node_id` string, required
    - `name` string, required — The name of the repository.
    - `full_name` string, required
    - `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
    - `organization` NullableSimpleUser, nullable — 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
    - `forks` integer, required
    - `permissions` object
      - `admin` boolean, required
      - `pull` boolean, required
      - `triage` boolean
      - `push` boolean, required
      - `maintain` boolean
    - `owner` 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
    - `private` boolean, required — Whether the repository is private or public.
    - `html_url` string, uri, required
    - `description` string, nullable, required
    - `fork` boolean, required
    - `url` string, uri, 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
    - `downloads_url` string, uri, required
    - `events_url` string, uri, required
    - `forks_url` string, uri, required
    - `git_commits_url` string, required
    - `git_refs_url` string, required
    - `git_tags_url` string, required
    - `git_url` 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
    - `notifications_url` string, required
    - `pulls_url` string, required
    - `releases_url` string, required
    - `ssh_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
    - `clone_url` string, required
    - `mirror_url` string, uri, nullable, required
    - `hooks_url` string, uri, required
    - `svn_url` string, uri, required
    - `homepage` string, uri, nullable, required
    - `language` string, nullable, required
    - `forks_count` integer, required
    - `stargazers_count` integer, required
    - `watchers_count` integer, required
    - `size` integer, required — The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0.
    - `default_branch` string, required — The default branch of the repository.
    - `open_issues_count` integer, required
    - `is_template` boolean — Whether this repository acts as a template that can be used to generate new repositories.
    - `topics` string[]
    - `has_issues` boolean, required — Whether issues are enabled.
    - `has_projects` boolean, required — Whether projects are enabled.
    - `has_wiki` boolean, required — Whether the wiki is enabled.
    - `has_pages` boolean, required
    - `has_downloads` boolean, required — Whether downloads are enabled.
    - `archived` boolean, required — Whether the repository is archived.
    - `disabled` boolean, required — Returns whether or not this repository disabled.
    - `visibility` string — The repository visibility: public, private, or internal.
    - `pushed_at` string, date-time, nullable, required
    - `created_at` string, date-time, nullable, required
    - `updated_at` string, date-time, nullable, required
    - `allow_rebase_merge` boolean — Whether to allow rebase merges for pull requests.
    - `template_repository` object, nullable
      - `id` integer
      - `node_id` string
      - `name` string
      - `full_name` string
      - `owner` object
        - `login` string
        - `id` integer
        - `node_id` string
        - `avatar_url` string
        - `gravatar_id` string
        - `url` string
        - `html_url` string
        - `followers_url` string
        - `following_url` string
        - `gists_url` string
        - `starred_url` string
        - `subscriptions_url` string
        - `organizations_url` string
        - `repos_url` string
        - `events_url` string
        - `received_events_url` string
        - `type` string
        - `site_admin` boolean
      - `private` boolean
      - `html_url` string
      - `description` string
      - `fork` boolean
      - `url` string
      - `archive_url` string
      - `assignees_url` string
      - `blobs_url` string
      - `branches_url` string
      - `collaborators_url` string
      - `comments_url` string
      - `commits_url` string
      - `compare_url` string
      - `contents_url` string
      - `contributors_url` string
      - `deployments_url` string
      - `downloads_url` string
      - `events_url` string
      - `forks_url` string
      - `git_commits_url` string
      - `git_refs_url` string
      - `git_tags_url` string
      - `git_url` string
      - `issue_comment_url` string
      - `issue_events_url` string
      - `issues_url` string
      - `keys_url` string
      - `labels_url` string
      - `languages_url` string
      - `merges_url` string
      - `milestones_url` string
      - `notifications_url` string
      - `pulls_url` string
      - `releases_url` string
      - `ssh_url` string
      - `stargazers_url` string
      - `statuses_url` string
      - `subscribers_url` string
      - `subscription_url` string
      - `tags_url` string
      - `teams_url` string
      - `trees_url` string
      - `clone_url` string
      - `mirror_url` string
      - `hooks_url` string
      - `svn_url` string
      - `homepage` string
      - `language` string
      - `forks_count` integer
      - `stargazers_count` integer
      - `watchers_count` integer
      - `size` integer
      - `default_branch` string
      - `open_issues_count` integer
      - `is_template` boolean
      - `topics` string[]
      - `has_issues` boolean
      - `has_projects` boolean
      - `has_wiki` boolean
      - `has_pages` boolean
      - `has_downloads` boolean
      - `archived` boolean
      - `disabled` boolean
      - `visibility` string
      - `pushed_at` string
      - `created_at` string
      - `updated_at` string
      - `permissions` object
        - `admin` boolean
        - `maintain` boolean
        - `push` boolean
        - `triage` boolean
        - `pull` boolean
      - `allow_rebase_merge` boolean
      - `temp_clone_token` string
      - `allow_squash_merge` boolean
      - `allow_auto_merge` boolean
      - `delete_branch_on_merge` boolean
      - `allow_update_branch` boolean
      - `use_squash_pr_title_as_default` boolean
      - `squash_merge_commit_title` 'PR_TITLE' | 'COMMIT_OR_PR_TITLE' — The default value for a squash merge commit title: - `PR_TITLE` - default to the pull request's title. - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit).
      - `squash_merge_commit_message` 'PR_BODY' | 'COMMIT_MESSAGES' | 'BLANK' — The default value for a squash merge commit message: - `PR_BODY` - default to the pull request's body. - `COMMIT_MESSAGES` - default to the branch's commit messages. - `BLANK` - default to a blank commit message.
      - `merge_commit_title` 'PR_TITLE' | 'MERGE_MESSAGE' — The default value for a merge commit title. - `PR_TITLE` - default to the pull request's title. - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name).
      - `merge_commit_message` 'PR_BODY' | 'PR_TITLE' | 'BLANK' — The default value for a merge commit message. - `PR_TITLE` - default to the pull request's title. - `PR_BODY` - default to the pull request's body. - `BLANK` - default to a blank commit message.
      - `allow_merge_commit` boolean
      - `subscribers_count` integer
      - `network_count` integer
    - `temp_clone_token` string
    - `allow_squash_merge` boolean — Whether to allow squash merges for pull requests.
    - `allow_auto_merge` boolean — Whether to allow Auto-merge to be used on pull requests.
    - `delete_branch_on_merge` boolean — Whether to delete head branches when pull requests are merged
    - `allow_update_branch` boolean — Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging.
    - `use_squash_pr_title_as_default` boolean — Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead.
    - `squash_merge_commit_title` 'PR_TITLE' | 'COMMIT_OR_PR_TITLE' — The default value for a squash merge commit title: - `PR_TITLE` - default to the pull request's title. - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit).
    - `squash_merge_commit_message` 'PR_BODY' | 'COMMIT_MESSAGES' | 'BLANK' — The default value for a squash merge commit message: - `PR_BODY` - default to the pull request's body. - `COMMIT_MESSAGES` - default to the branch's commit messages. - `BLANK` - default to a blank commit message.
    - `merge_commit_title` 'PR_TITLE' | 'MERGE_MESSAGE' — The default value for a merge commit title. - `PR_TITLE` - default to the pull request's title. - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name).
    - `merge_commit_message` 'PR_BODY' | 'PR_TITLE' | 'BLANK' — The default value for a merge commit message. - `PR_TITLE` - default to the pull request's title. - `PR_BODY` - default to the pull request's body. - `BLANK` - default to a blank commit message.
    - `allow_merge_commit` boolean — Whether to allow merge commits for pull requests.
    - `allow_forking` boolean — Whether to allow forking this repo
    - `web_commit_signoff_required` boolean — Whether to require contributors to sign off on web-based commits
    - `subscribers_count` integer
    - `network_count` integer
    - `open_issues` integer, required
    - `watchers` integer, required
    - `master_branch` string
    - `starred_at` string
    - `anonymous_access_enabled` boolean — Whether anonymous git access is enabled for this repository
  - `temp_clone_token` string, nullable
  - `allow_squash_merge` boolean
  - `allow_auto_merge` boolean
  - `delete_branch_on_merge` boolean
  - `allow_merge_commit` boolean
  - `allow_update_branch` boolean
  - `use_squash_pr_title_as_default` boolean
  - `squash_merge_commit_title` 'PR_TITLE' | 'COMMIT_OR_PR_TITLE' — The default value for a squash merge commit title: - `PR_TITLE` - default to the pull request's title. - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit).
  - `squash_merge_commit_message` 'PR_BODY' | 'COMMIT_MESSAGES' | 'BLANK' — The default value for a squash merge commit message: - `PR_BODY` - default to the pull request's body. - `COMMIT_MESSAGES` - default to the branch's commit messages. - `BLANK` - default to a blank commit message.
  - `merge_commit_title` 'PR_TITLE' | 'MERGE_MESSAGE' — The default value for a merge commit title. - `PR_TITLE` - default to the pull request's title. - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name).
  - `merge_commit_message` 'PR_BODY' | 'PR_TITLE' | 'BLANK' — The default value for a merge commit message. - `PR_TITLE` - default to the pull request's title. - `PR_BODY` - default to the pull request's body. - `BLANK` - default to a blank commit message.
  - `allow_forking` boolean
  - `web_commit_signoff_required` boolean
  - `subscribers_count` integer, required
  - `network_count` integer, required
  - `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
  - `organization` NullableSimpleUser, nullable — 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
  - `parent` Repository — A repository on GitHub.
    - `id` integer, required — Unique identifier of the repository
    - `node_id` string, required
    - `name` string, required — The name of the repository.
    - `full_name` string, required
    - `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
    - `organization` NullableSimpleUser, nullable — 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
    - `forks` integer, required
    - `permissions` object
      - `admin` boolean, required
      - `pull` boolean, required
      - `triage` boolean
      - `push` boolean, required
      - `maintain` boolean
    - `owner` 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
    - `private` boolean, required — Whether the repository is private or public.
    - `html_url` string, uri, required
    - `description` string, nullable, required
    - `fork` boolean, required
    - `url` string, uri, 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
    - `downloads_url` string, uri, required
    - `events_url` string, uri, required
    - `forks_url` string, uri, required
    - `git_commits_url` string, required
    - `git_refs_url` string, required
    - `git_tags_url` string, required
    - `git_url` 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
    - `notifications_url` string, required
    - `pulls_url` string, required
    - `releases_url` string, required
    - `ssh_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
    - `clone_url` string, required
    - `mirror_url` string, uri, nullable, required
    - `hooks_url` string, uri, required
    - `svn_url` string, uri, required
    - `homepage` string, uri, nullable, required
    - `language` string, nullable, required
    - `forks_count` integer, required
    - `stargazers_count` integer, required
    - `watchers_count` integer, required
    - `size` integer, required — The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0.
    - `default_branch` string, required — The default branch of the repository.
    - `open_issues_count` integer, required
    - `is_template` boolean — Whether this repository acts as a template that can be used to generate new repositories.
    - `topics` string[]
    - `has_issues` boolean, required — Whether issues are enabled.
    - `has_projects` boolean, required — Whether projects are enabled.
    - `has_wiki` boolean, required — Whether the wiki is enabled.
    - `has_pages` boolean, required
    - `has_downloads` boolean, required — Whether downloads are enabled.
    - `archived` boolean, required — Whether the repository is archived.
    - `disabled` boolean, required — Returns whether or not this repository disabled.
    - `visibility` string — The repository visibility: public, private, or internal.
    - `pushed_at` string, date-time, nullable, required
    - `created_at` string, date-time, nullable, required
    - `updated_at` string, date-time, nullable, required
    - `allow_rebase_merge` boolean — Whether to allow rebase merges for pull requests.
    - `template_repository` object, nullable
      - `id` integer
      - `node_id` string
      - `name` string
      - `full_name` string
      - `owner` object
        - `login` string
        - `id` integer
        - `node_id` string
        - `avatar_url` string
        - `gravatar_id` string
        - `url` string
        - `html_url` string
        - `followers_url` string
        - `following_url` string
        - `gists_url` string
        - `starred_url` string
        - `subscriptions_url` string
        - `organizations_url` string
        - `repos_url` string
        - `events_url` string
        - `received_events_url` string
        - `type` string
        - `site_admin` boolean
      - `private` boolean
      - `html_url` string
      - `description` string
      - `fork` boolean
      - `url` string
      - `archive_url` string
      - `assignees_url` string
      - `blobs_url` string
      - `branches_url` string
      - `collaborators_url` string
      - `comments_url` string
      - `commits_url` string
      - `compare_url` string
      - `contents_url` string
      - `contributors_url` string
      - `deployments_url` string
      - `downloads_url` string
      - `events_url` string
      - `forks_url` string
      - `git_commits_url` string
      - `git_refs_url` string
      - `git_tags_url` string
      - `git_url` string
      - `issue_comment_url` string
      - `issue_events_url` string
      - `issues_url` string
      - `keys_url` string
      - `labels_url` string
      - `languages_url` string
      - `merges_url` string
      - `milestones_url` string
      - `notifications_url` string
      - `pulls_url` string
      - `releases_url` string
      - `ssh_url` string
      - `stargazers_url` string
      - `statuses_url` string
      - `subscribers_url` string
      - `subscription_url` string
      - `tags_url` string
      - `teams_url` string
      - `trees_url` string
      - `clone_url` string
      - `mirror_url` string
      - `hooks_url` string
      - `svn_url` string
      - `homepage` string
      - `language` string
      - `forks_count` integer
      - `stargazers_count` integer
      - `watchers_count` integer
      - `size` integer
      - `default_branch` string
      - `open_issues_count` integer
      - `is_template` boolean
      - `topics` string[]
      - `has_issues` boolean
      - `has_projects` boolean
      - `has_wiki` boolean
      - `has_pages` boolean
      - `has_downloads` boolean
      - `archived` boolean
      - `disabled` boolean
      - `visibility` string
      - `pushed_at` string
      - `created_at` string
      - `updated_at` string
      - `permissions` object
        - `admin` boolean
        - `maintain` boolean
        - `push` boolean
        - `triage` boolean
        - `pull` boolean
      - `allow_rebase_merge` boolean
      - `temp_clone_token` string
      - `allow_squash_merge` boolean
      - `allow_auto_merge` boolean
      - `delete_branch_on_merge` boolean
      - `allow_update_branch` boolean
      - `use_squash_pr_title_as_default` boolean
      - `squash_merge_commit_title` 'PR_TITLE' | 'COMMIT_OR_PR_TITLE' — The default value for a squash merge commit title: - `PR_TITLE` - default to the pull request's title. - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit).
      - `squash_merge_commit_message` 'PR_BODY' | 'COMMIT_MESSAGES' | 'BLANK' — The default value for a squash merge commit message: - `PR_BODY` - default to the pull request's body. - `COMMIT_MESSAGES` - default to the branch's commit messages. - `BLANK` - default to a blank commit message.
      - `merge_commit_title` 'PR_TITLE' | 'MERGE_MESSAGE' — The default value for a merge commit title. - `PR_TITLE` - default to the pull request's title. - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name).
      - `merge_commit_message` 'PR_BODY' | 'PR_TITLE' | 'BLANK' — The default value for a merge commit message. - `PR_TITLE` - default to the pull request's title. - `PR_BODY` - default to the pull request's body. - `BLANK` - default to a blank commit message.
      - `allow_merge_commit` boolean
      - `subscribers_count` integer
      - `network_count` integer
    - `temp_clone_token` string
    - `allow_squash_merge` boolean — Whether to allow squash merges for pull requests.
    - `allow_auto_merge` boolean — Whether to allow Auto-merge to be used on pull requests.
    - `delete_branch_on_merge` boolean — Whether to delete head branches when pull requests are merged
    - `allow_update_branch` boolean — Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging.
    - `use_squash_pr_title_as_default` boolean — Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead.
    - `squash_merge_commit_title` 'PR_TITLE' | 'COMMIT_OR_PR_TITLE' — The default value for a squash merge commit title: - `PR_TITLE` - default to the pull request's title. - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit).
    - `squash_merge_commit_message` 'PR_BODY' | 'COMMIT_MESSAGES' | 'BLANK' — The default value for a squash merge commit message: - `PR_BODY` - default to the pull request's body. - `COMMIT_MESSAGES` - default to the branch's commit messages. - `BLANK` - default to a blank commit message.
    - `merge_commit_title` 'PR_TITLE' | 'MERGE_MESSAGE' — The default value for a merge commit title. - `PR_TITLE` - default to the pull request's title. - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name).
    - `merge_commit_message` 'PR_BODY' | 'PR_TITLE' | 'BLANK' — The default value for a merge commit message. - `PR_TITLE` - default to the pull request's title. - `PR_BODY` - default to the pull request's body. - `BLANK` - default to a blank commit message.
    - `allow_merge_commit` boolean — Whether to allow merge commits for pull requests.
    - `allow_forking` boolean — Whether to allow forking this repo
    - `web_commit_signoff_required` boolean — Whether to require contributors to sign off on web-based commits
    - `subscribers_count` integer
    - `network_count` integer
    - `open_issues` integer, required
    - `watchers` integer, required
    - `master_branch` string
    - `starred_at` string
    - `anonymous_access_enabled` boolean — Whether anonymous git access is enabled for this repository
  - `source` Repository — A repository on GitHub.
    - `id` integer, required — Unique identifier of the repository
    - `node_id` string, required
    - `name` string, required — The name of the repository.
    - `full_name` string, required
    - `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
    - `organization` NullableSimpleUser, nullable — 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
    - `forks` integer, required
    - `permissions` object
      - `admin` boolean, required
      - `pull` boolean, required
      - `triage` boolean
      - `push` boolean, required
      - `maintain` boolean
    - `owner` 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
    - `private` boolean, required — Whether the repository is private or public.
    - `html_url` string, uri, required
    - `description` string, nullable, required
    - `fork` boolean, required
    - `url` string, uri, 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
    - `downloads_url` string, uri, required
    - `events_url` string, uri, required
    - `forks_url` string, uri, required
    - `git_commits_url` string, required
    - `git_refs_url` string, required
    - `git_tags_url` string, required
    - `git_url` 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
    - `notifications_url` string, required
    - `pulls_url` string, required
    - `releases_url` string, required
    - `ssh_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
    - `clone_url` string, required
    - `mirror_url` string, uri, nullable, required
    - `hooks_url` string, uri, required
    - `svn_url` string, uri, required
    - `homepage` string, uri, nullable, required
    - `language` string, nullable, required
    - `forks_count` integer, required
    - `stargazers_count` integer, required
    - `watchers_count` integer, required
    - `size` integer, required — The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0.
    - `default_branch` string, required — The default branch of the repository.
    - `open_issues_count` integer, required
    - `is_template` boolean — Whether this repository acts as a template that can be used to generate new repositories.
    - `topics` string[]
    - `has_issues` boolean, required — Whether issues are enabled.
    - `has_projects` boolean, required — Whether projects are enabled.
    - `has_wiki` boolean, required — Whether the wiki is enabled.
    - `has_pages` boolean, required
    - `has_downloads` boolean, required — Whether downloads are enabled.
    - `archived` boolean, required — Whether the repository is archived.
    - `disabled` boolean, required — Returns whether or not this repository disabled.
    - `visibility` string — The repository visibility: public, private, or internal.
    - `pushed_at` string, date-time, nullable, required
    - `created_at` string, date-time, nullable, required
    - `updated_at` string, date-time, nullable, required
    - `allow_rebase_merge` boolean — Whether to allow rebase merges for pull requests.
    - `template_repository` object, nullable
      - `id` integer
      - `node_id` string
      - `name` string
      - `full_name` string
      - `owner` object
        - `login` string
        - `id` integer
        - `node_id` string
        - `avatar_url` string
        - `gravatar_id` string
        - `url` string
        - `html_url` string
        - `followers_url` string
        - `following_url` string
        - `gists_url` string
        - `starred_url` string
        - `subscriptions_url` string
        - `organizations_url` string
        - `repos_url` string
        - `events_url` string
        - `received_events_url` string
        - `type` string
        - `site_admin` boolean
      - `private` boolean
      - `html_url` string
      - `description` string
      - `fork` boolean
      - `url` string
      - `archive_url` string
      - `assignees_url` string
      - `blobs_url` string
      - `branches_url` string
      - `collaborators_url` string
      - `comments_url` string
      - `commits_url` string
      - `compare_url` string
      - `contents_url` string
      - `contributors_url` string
      - `deployments_url` string
      - `downloads_url` string
      - `events_url` string
      - `forks_url` string
      - `git_commits_url` string
      - `git_refs_url` string
      - `git_tags_url` string
      - `git_url` string
      - `issue_comment_url` string
      - `issue_events_url` string
      - `issues_url` string
      - `keys_url` string
      - `labels_url` string
      - `languages_url` string
      - `merges_url` string
      - `milestones_url` string
      - `notifications_url` string
      - `pulls_url` string
      - `releases_url` string
      - `ssh_url` string
      - `stargazers_url` string
      - `statuses_url` string
      - `subscribers_url` string
      - `subscription_url` string
      - `tags_url` string
      - `teams_url` string
      - `trees_url` string
      - `clone_url` string
      - `mirror_url` string
      - `hooks_url` string
      - `svn_url` string
      - `homepage` string
      - `language` string
      - `forks_count` integer
      - `stargazers_count` integer
      - `watchers_count` integer
      - `size` integer
      - `default_branch` string
      - `open_issues_count` integer
      - `is_template` boolean
      - `topics` string[]
      - `has_issues` boolean
      - `has_projects` boolean
      - `has_wiki` boolean
      - `has_pages` boolean
      - `has_downloads` boolean
      - `archived` boolean
      - `disabled` boolean
      - `visibility` string
      - `pushed_at` string
      - `created_at` string
      - `updated_at` string
      - `permissions` object
        - `admin` boolean
        - `maintain` boolean
        - `push` boolean
        - `triage` boolean
        - `pull` boolean
      - `allow_rebase_merge` boolean
      - `temp_clone_token` string
      - `allow_squash_merge` boolean
      - `allow_auto_merge` boolean
      - `delete_branch_on_merge` boolean
      - `allow_update_branch` boolean
      - `use_squash_pr_title_as_default` boolean
      - `squash_merge_commit_title` 'PR_TITLE' | 'COMMIT_OR_PR_TITLE' — The default value for a squash merge commit title: - `PR_TITLE` - default to the pull request's title. - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit).
      - `squash_merge_commit_message` 'PR_BODY' | 'COMMIT_MESSAGES' | 'BLANK' — The default value for a squash merge commit message: - `PR_BODY` - default to the pull request's body. - `COMMIT_MESSAGES` - default to the branch's commit messages. - `BLANK` - default to a blank commit message.
      - `merge_commit_title` 'PR_TITLE' | 'MERGE_MESSAGE' — The default value for a merge commit title. - `PR_TITLE` - default to the pull request's title. - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name).
      - `merge_commit_message` 'PR_BODY' | 'PR_TITLE' | 'BLANK' — The default value for a merge commit message. - `PR_TITLE` - default to the pull request's title. - `PR_BODY` - default to the pull request's body. - `BLANK` - default to a blank commit message.
      - `allow_merge_commit` boolean
      - `subscribers_count` integer
      - `network_count` integer
    - `temp_clone_token` string
    - `allow_squash_merge` boolean — Whether to allow squash merges for pull requests.
    - `allow_auto_merge` boolean — Whether to allow Auto-merge to be used on pull requests.
    - `delete_branch_on_merge` boolean — Whether to delete head branches when pull requests are merged
    - `allow_update_branch` boolean — Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging.
    - `use_squash_pr_title_as_default` boolean — Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead.
    - `squash_merge_commit_title` 'PR_TITLE' | 'COMMIT_OR_PR_TITLE' — The default value for a squash merge commit title: - `PR_TITLE` - default to the pull request's title. - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit).
    - `squash_merge_commit_message` 'PR_BODY' | 'COMMIT_MESSAGES' | 'BLANK' — The default value for a squash merge commit message: - `PR_BODY` - default to the pull request's body. - `COMMIT_MESSAGES` - default to the branch's commit messages. - `BLANK` - default to a blank commit message.
    - `merge_commit_title` 'PR_TITLE' | 'MERGE_MESSAGE' — The default value for a merge commit title. - `PR_TITLE` - default to the pull request's title. - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name).
    - `merge_commit_message` 'PR_BODY' | 'PR_TITLE' | 'BLANK' — The default value for a merge commit message. - `PR_TITLE` - default to the pull request's title. - `PR_BODY` - default to the pull request's body. - `BLANK` - default to a blank commit message.
    - `allow_merge_commit` boolean — Whether to allow merge commits for pull requests.
    - `allow_forking` boolean — Whether to allow forking this repo
    - `web_commit_signoff_required` boolean — Whether to require contributors to sign off on web-based commits
    - `subscribers_count` integer
    - `network_count` integer
    - `open_issues` integer, required
    - `watchers` integer, required
    - `master_branch` string
    - `starred_at` string
    - `anonymous_access_enabled` boolean — Whether anonymous git access is enabled for this repository
  - `forks` integer, required
  - `master_branch` string
  - `open_issues` integer, required
  - `watchers` integer, required
  - `anonymous_access_enabled` boolean — Whether anonymous git access is allowed.
  - `code_of_conduct` CodeOfConductSimple — Code of Conduct Simple
    - `url` string, uri, required
    - `key` string, required
    - `name` string, required
    - `html_url` string, uri, nullable, required
  - `security_and_analysis` SecurityAndAnalysis, nullable
    - `advanced_security` object
      - `status` 'enabled' | 'disabled'
    - `secret_scanning` object
      - `status` 'enabled' | 'disabled'
    - `secret_scanning_push_protection` object
      - `status` 'enabled' | 'disabled'

## Other responses

- `400` — Bad Request
- `403` — Forbidden
- `404` — Resource not found
- `422` — Validation failed, or the endpoint has been spammed.

---

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