---
title: "Update a repository"
method: PATCH
path: "/repos/{owner}/{repo}"
tags: ["repos"]
---

# Update a repository

`PATCH /repos/{owner}/{repo}`

**Note**: To edit a repository's topics, use the [Replace all repository topics](https://docs.github.com/enterprise-server@3.7/rest/repos/repos#replace-all-repository-topics) endpoint.

## Path parameters

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

## Request body

- object
  - `name` string — The name of the repository.
  - `description` string — A short description of the repository.
  - `homepage` string — A URL with more information about the repository.
  - `private` boolean — Either `true` to make the repository private or `false` to make it public. Default: `false`. **Note**: You will get a `422` error if the organization restricts [changing repository visibility](https://docs.github.com/enterprise-server@3.7/articles/repository-permission-levels-for-an-organization#changing-the-visibility-of-repositories) to organization owners and a non-owner tries to change the value of private.
  - `visibility` 'public' | 'private' | 'internal' — The visibility of the repository.
  - `security_and_analysis` object, nullable — Specify which security and analysis features to enable or disable for the repository. To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/enterprise-server@3.7/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." For example, to enable GitHub Advanced Security, use this data in the body of the `PATCH` request: `{ "security_and_analysis": {"advanced_security": { "status": "enabled" } } }`. You can check which security and analysis features are currently enabled by using a `GET /repos/{owner}/{repo}` request.
    - `advanced_security` object — Use the `status` property to enable or disable GitHub Advanced Security for this repository. For more information, see "[About GitHub Advanced Security](/github/getting-started-with-github/learning-about-github/about-github-advanced-security)."
      - `status` string — Can be `enabled` or `disabled`.
    - `secret_scanning` object — Use the `status` property to enable or disable secret scanning for this repository. For more information, see "[About secret scanning](/code-security/secret-security/about-secret-scanning)."
      - `status` string — Can be `enabled` or `disabled`.
    - `secret_scanning_push_protection` object — Use the `status` property to enable or disable secret scanning push protection for this repository. For more information, see "[Protecting pushes with secret scanning](/code-security/secret-scanning/protecting-pushes-with-secret-scanning)."
      - `status` string — Can be `enabled` or `disabled`.
  - `has_issues` boolean — Either `true` to enable issues for this repository or `false` to disable them.
  - `has_projects` boolean — Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error.
  - `has_wiki` boolean — Either `true` to enable the wiki for this repository or `false` to disable it.
  - `is_template` boolean — Either `true` to make this repo available as a template repository or `false` to prevent it.
  - `default_branch` string — Updates the default branch for this repository.
  - `allow_squash_merge` boolean — Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging.
  - `allow_merge_commit` boolean — Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits.
  - `allow_rebase_merge` boolean — Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging.
  - `delete_branch_on_merge` boolean — Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion.
  - `allow_update_branch` boolean — Either `true` to always allow a pull request head branch that is behind its base branch to be updated even if it is not required to be up to date before merging, or false otherwise.
  - `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.
  - `archived` boolean — Whether to archive this repository. **Note**: You cannot unarchive repositories through the API.
  - `allow_forking` boolean — Either `true` to allow private forks, or `false` to prevent private forks.
  - `web_commit_signoff_required` boolean — Either `true` to require contributors to sign off on web-based commits, or `false` to not require contributors to sign off on web-based commits.

## Response `200`

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, in kilobytes. 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
  - `has_discussions` boolean, required
  - `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, in kilobytes. 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.
    - `has_discussions` boolean — Whether discussions 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, in kilobytes. 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.
    - `has_discussions` boolean — Whether discussions 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, in kilobytes. 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.
    - `has_discussions` boolean — Whether discussions 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

- `307` — Temporary Redirect
- `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-6.md) · [All operations](https://skmtc.net/github/apis/github-v3-rest-api-6/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/github/github-v3-rest-api-6/versions/15db3fa0759b/schema)
