POST
/repos/{owner}/{repo}/forksCreate a fork
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 Support.
[!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.
- RetriesRetries up to 2×, 500ms backoff, 30s timeout.
ownerstringrequired
The account owner of the repository. The name is not case sensitive.
repostringrequired
The name of the repository without the `.git` extension. The name is not case sensitive.
organizationstringoptional
Optional parameter to specify the organization name if forking into an organization.
namestringoptional
When forking from an existing repository, a new name for the fork.
default_branch_onlybooleanoptional
When forking from an existing repository, fork with only the default branch.
202Response
idintegerrequired
node_idstringrequired
namestringrequired
full_namestringrequired
ownerobjectrequired
A GitHub user.
privatebooleanrequired
html_urlstringrequired
descriptionstringrequired
forkbooleanrequired
urlstringrequired
archive_urlstringrequired
assignees_urlstringrequired
blobs_urlstringrequired
branches_urlstringrequired
collaborators_urlstringrequired
comments_urlstringrequired
commits_urlstringrequired
compare_urlstringrequired
contents_urlstringrequired
contributors_urlstringrequired
deployments_urlstringrequired
downloads_urlstringrequired
events_urlstringrequired
forks_urlstringrequired
git_commits_urlstringrequired
git_refs_urlstringrequired
git_tags_urlstringrequired
git_urlstringrequired
issue_comment_urlstringrequired
issue_events_urlstringrequired
issues_urlstringrequired
keys_urlstringrequired
labels_urlstringrequired
languages_urlstringrequired
merges_urlstringrequired
milestones_urlstringrequired
notifications_urlstringrequired
pulls_urlstringrequired
releases_urlstringrequired
ssh_urlstringrequired
stargazers_urlstringrequired
statuses_urlstringrequired
subscribers_urlstringrequired
subscription_urlstringrequired
tags_urlstringrequired
teams_urlstringrequired
trees_urlstringrequired
clone_urlstringrequired
mirror_urlstringrequired
hooks_urlstringrequired
svn_urlstringrequired
homepagestringrequired
languagestringrequired
forks_countintegerrequired
stargazers_countintegerrequired
watchers_countintegerrequired
sizeintegerrequired
The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0.
default_branchstringrequired
open_issues_countintegerrequired
is_templatebooleanoptional
topicsarray<string>optional
has_issuesbooleanrequired
has_projectsbooleanrequired
has_wikibooleanrequired
has_pagesbooleanrequired
has_downloadsbooleanoptional
has_discussionsbooleanrequired
has_pull_requestsbooleanoptional
pull_request_creation_policystringoptional
The policy controlling who can create pull requests: all or collaborators_only.
archivedbooleanrequired
disabledbooleanrequired
Returns whether or not this repository disabled.
visibilitystringoptional
The repository visibility: public, private, or internal.
pushed_atstringrequired
created_atstringrequired
updated_atstringrequired
permissionsobjectoptional
allow_rebase_mergebooleanoptional
template_repositoryobjectoptional
A repository on GitHub.
temp_clone_tokenstringoptional
allow_squash_mergebooleanoptional
allow_auto_mergebooleanoptional
delete_branch_on_mergebooleanoptional
allow_merge_commitbooleanoptional
allow_update_branchbooleanoptional
use_squash_pr_title_as_defaultbooleanoptional
squash_merge_commit_titlestringoptional
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_messagestringoptional
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_titlestringoptional
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_messagestringoptional
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_forkingbooleanoptional
web_commit_signoff_requiredbooleanoptional
subscribers_countintegerrequired
network_countintegerrequired
licenseobjectrequired
License Simple
organizationobjectoptional
A GitHub user.
parentobjectoptional
A repository on GitHub.
sourceobjectoptional
A repository on GitHub.
forksintegerrequired
master_branchstringoptional
open_issuesintegerrequired
watchersintegerrequired
anonymous_access_enabledbooleanoptional
Whether anonymous git access is allowed.
code_of_conductobjectoptional
Code of Conduct Simple
security_and_analysisobjectoptional
custom_propertiesobjectoptional
The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values.
400Bad Request
messagestringoptional
documentation_urlstringoptional
urlstringoptional
statusstringoptional
403Forbidden
messagestringoptional
documentation_urlstringoptional
urlstringoptional
statusstringoptional
404Resource not found
messagestringoptional
documentation_urlstringoptional
urlstringoptional
statusstringoptional
422Validation failed, or the endpoint has been spammed.
messagestringrequired
documentation_urlstringrequired
errorsarray<object>optional
Error handling
A 400 is returned: Bad Request. A 403 is returned: Forbidden. A 404 is returned: Resource not found. A 422 is returned: Validation failed, or the endpoint has been spammed.