GitHub v3 REST API

Replace all repository topics

put
{protocol}://{hostname}/api/v3/repos/{owner}/{repo}/topics

Path Parameters

ownerstringrequired
repostringrequired

Body

application/json
namesarray[string]required

An array of topics to add to the repository. Pass one or more topics to replace the set of existing topics. Send an empty array ([]) to clear all topics from the repository. Note: Topic names cannot contain uppercase letters.

Response

application/json

Response

Topic

A topic aggregates entities that are related to a subject.

namesarray[string]required
put/repos/{owner}/{repo}/topics

Body

{ "names": [ "octocat", "atom", "electron", "api" ] }
 
application/json

Transfer a repository

A transfer request will need to be accepted by the new owner when transferring a personal repository to another user. The response will contain the original owner, and the transfer will continue asynchronously. For more details on the requirements to transfer personal and organization-owned repositories, see about repository transfers.

post
{protocol}://{hostname}/api/v3/repos/{owner}/{repo}/transfer

Path Parameters

ownerstringrequired
repostringrequired

Body

application/json
new_ownerstringrequired

The username or organization name the repository will be transferred to.

team_idsarray[integer]

ID of the team or teams to add to the repository. Teams can only be added to organization-owned repositories.

Response

202 application/json

Response

Minimal Repository

Minimal Repository

idintegerrequired

Example:1296269

node_idstringrequired

Example:MDEwOlJlcG9zaXRvcnkxMjk2MjY5

namestringrequired

Example:Hello-World

full_namestringrequired

Example:octocat/Hello-World

ownerobjectrequired

Simple User

Show Child Parameters
privatebooleanrequired
html_urlstring(uri)required

Example:https://github.com/octocat/Hello-World

descriptionstring | nullrequired

Example:This your first repo!

forkbooleanrequired
urlstring(uri)required

Example:https://api.github.com/repos/octocat/Hello-World

archive_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}

assignees_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/assignees{/user}

blobs_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}

branches_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/branches{/branch}

collaborators_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}

comments_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/comments{/number}

commits_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/commits{/sha}

compare_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}

contents_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/contents/{+path}

contributors_urlstring(uri)required

Example:http://api.github.com/repos/octocat/Hello-World/contributors

deployments_urlstring(uri)required

Example:http://api.github.com/repos/octocat/Hello-World/deployments

downloads_urlstring(uri)required

Example:http://api.github.com/repos/octocat/Hello-World/downloads

events_urlstring(uri)required

Example:http://api.github.com/repos/octocat/Hello-World/events

forks_urlstring(uri)required

Example:http://api.github.com/repos/octocat/Hello-World/forks

git_commits_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/git/commits{/sha}

git_refs_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/git/refs{/sha}

git_tags_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/git/tags{/sha}

git_urlstring
issue_comment_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/issues/comments{/number}

issue_events_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/issues/events{/number}

issues_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/issues{/number}

keys_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/keys{/key_id}

labels_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/labels{/name}

languages_urlstring(uri)required

Example:http://api.github.com/repos/octocat/Hello-World/languages

merges_urlstring(uri)required

Example:http://api.github.com/repos/octocat/Hello-World/merges

milestones_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/milestones{/number}

notifications_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}

pulls_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/pulls{/number}

releases_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/releases{/id}

ssh_urlstring
stargazers_urlstring(uri)required

Example:http://api.github.com/repos/octocat/Hello-World/stargazers

statuses_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/statuses/{sha}

subscribers_urlstring(uri)required

Example:http://api.github.com/repos/octocat/Hello-World/subscribers

subscription_urlstring(uri)required

Example:http://api.github.com/repos/octocat/Hello-World/subscription

tags_urlstring(uri)required

Example:http://api.github.com/repos/octocat/Hello-World/tags

teams_urlstring(uri)required

Example:http://api.github.com/repos/octocat/Hello-World/teams

trees_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/git/trees{/sha}

clone_urlstring
mirror_urlstring | null
hooks_urlstring(uri)required

Example:http://api.github.com/repos/octocat/Hello-World/hooks

svn_urlstring
homepagestring | null
languagestring | null
forks_countinteger
stargazers_countinteger
watchers_countinteger
sizeinteger
default_branchstring
open_issues_countinteger
is_templateboolean
topicsarray[string]
has_issuesboolean
has_projectsboolean
has_wikiboolean
has_pagesboolean
has_downloadsboolean
archivedboolean
disabledboolean
visibilitystring
pushed_atstring | null(date-time)

Example:2011-01-26T19:06:43Z

created_atstring | null(date-time)

Example:2011-01-26T19:01:12Z

updated_atstring | null(date-time)

Example:2011-01-26T19:14:43Z

permissionsobject
Show Child Parameters
template_repositoryobject | null

A git repository

Show Child Parameters
temp_clone_tokenstring
delete_branch_on_mergeboolean
subscribers_countinteger
network_countinteger
code_of_conductobject

Code Of Conduct

Show Child Parameters
licenseobject | null
Show Child Parameters
forksinteger

Example:0

open_issuesinteger

Example:0

watchersinteger

Example:0

allow_forkingboolean
post/repos/{owner}/{repo}/transfer

Body

{ "new_owner": "github", "team_ids": [ 12, 345 ] }
 
202 application/json

Download a repository archive (zip)

Gets a redirect URL to download a zip archive for a repository. If you omit :ref, the repository’s default branch (usually
master) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use
the Location header to make a second GET request.
Note: For private repositories, these links are temporary and expire after five minutes.

get
{protocol}://{hostname}/api/v3/repos/{owner}/{repo}/zipball/{ref}

Path Parameters

ownerstringrequired
repostringrequired
refstringrequired

Response

302

Response

get/repos/{owner}/{repo}/zipball/{ref}
 
302

Create a repository using a template

Creates a new repository using a repository template. Use the template_owner and template_repo route parameters to specify the repository to use as the template. The authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository’s information using the Get a repository endpoint and check that the is_template key is true.

OAuth scope requirements

When using OAuth, authorizations must include:

  • public_repo scope or repo scope to create a public repository. Note: For GitHub AE, use repo scope to create an internal repository.
  • repo scope to create a private repository
post
{protocol}://{hostname}/api/v3/repos/{template_owner}/{template_repo}/generate

Path Parameters

template_ownerstringrequired
template_repostringrequired

Body

application/json
ownerstring

The organization or person who will own the new repository. To create a new repository in an organization, the authenticated user must be a member of the specified organization.

namestringrequired

The name of the new repository.

descriptionstring

A short description of the new repository.

include_all_branchesboolean

Set to true to include the directory structure and files from all branches in the template repository, and not just the default branch. Default: false.

Default:false

privateboolean

Either true to create a new private repository or false to create a new public one.

Default:false

Response

201 application/json

Response

Repository

A git repository

idintegerrequired

Unique identifier of the repository

Example:42

node_idstringrequired

Example:MDEwOlJlcG9zaXRvcnkxMjk2MjY5

namestringrequired

The name of the repository.

Example:Team Environment

full_namestringrequired

Example:octocat/Hello-World

licenseobject | nullrequired

License Simple

Show Child Parameters
organizationobject | null

Simple User

Show Child Parameters
forksintegerrequired
permissionsobject
Show Child Parameters
ownerobjectrequired

Simple User

Show Child Parameters
privatebooleanrequired

Whether the repository is private or public.

Default:false

html_urlstring(uri)required

Example:https://github.com/octocat/Hello-World

descriptionstring | nullrequired

Example:This your first repo!

forkbooleanrequired
urlstring(uri)required

Example:https://api.github.com/repos/octocat/Hello-World

archive_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}

assignees_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/assignees{/user}

blobs_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}

branches_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/branches{/branch}

collaborators_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}

comments_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/comments{/number}

commits_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/commits{/sha}

compare_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}

contents_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/contents/{+path}

contributors_urlstring(uri)required

Example:http://api.github.com/repos/octocat/Hello-World/contributors

deployments_urlstring(uri)required

Example:http://api.github.com/repos/octocat/Hello-World/deployments

downloads_urlstring(uri)required

Example:http://api.github.com/repos/octocat/Hello-World/downloads

events_urlstring(uri)required

Example:http://api.github.com/repos/octocat/Hello-World/events

forks_urlstring(uri)required

Example:http://api.github.com/repos/octocat/Hello-World/forks

git_commits_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/git/commits{/sha}

git_refs_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/git/refs{/sha}

git_tags_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/git/tags{/sha}

git_urlstringrequired

Example:git:github.com/octocat/Hello-World.git

issue_comment_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/issues/comments{/number}

issue_events_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/issues/events{/number}

issues_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/issues{/number}

keys_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/keys{/key_id}

labels_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/labels{/name}

languages_urlstring(uri)required

Example:http://api.github.com/repos/octocat/Hello-World/languages

merges_urlstring(uri)required

Example:http://api.github.com/repos/octocat/Hello-World/merges

milestones_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/milestones{/number}

notifications_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}

pulls_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/pulls{/number}

releases_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/releases{/id}

ssh_urlstringrequired

Example:git@github.com:octocat/Hello-World.git

stargazers_urlstring(uri)required

Example:http://api.github.com/repos/octocat/Hello-World/stargazers

statuses_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/statuses/{sha}

subscribers_urlstring(uri)required

Example:http://api.github.com/repos/octocat/Hello-World/subscribers

subscription_urlstring(uri)required

Example:http://api.github.com/repos/octocat/Hello-World/subscription

tags_urlstring(uri)required

Example:http://api.github.com/repos/octocat/Hello-World/tags

teams_urlstring(uri)required

Example:http://api.github.com/repos/octocat/Hello-World/teams

trees_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/git/trees{/sha}

clone_urlstringrequired

Example:https://github.com/octocat/Hello-World.git

mirror_urlstring | null(uri)required

Example:git:git.example.com/octocat/Hello-World

hooks_urlstring(uri)required

Example:http://api.github.com/repos/octocat/Hello-World/hooks

svn_urlstring(uri)required

Example:https://svn.github.com/octocat/Hello-World

homepagestring | null(uri)required

Example:https://github.com

languagestring | nullrequired
forks_countintegerrequired

Example:9

stargazers_countintegerrequired

Example:80

watchers_countintegerrequired

Example:80

sizeintegerrequired

Example:108

default_branchstringrequired

The default branch of the repository.

Example:master

open_issues_countintegerrequired

Example:0

is_templateboolean

Whether this repository acts as a template that can be used to generate new repositories.

Default:false

Example:true

topicsarray[string]
has_issuesbooleanrequired

Whether issues are enabled.

Default:true

Example:true

has_projectsbooleanrequired

Whether projects are enabled.

Default:true

Example:true

has_wikibooleanrequired

Whether the wiki is enabled.

Default:true

Example:true

has_pagesbooleanrequired
has_downloadsbooleanrequired

Whether downloads are enabled.

Default:true

Example:true

archivedbooleanrequired

Whether the repository is archived.

Default:false

disabledbooleanrequired

Returns whether or not this repository disabled.

visibilitystring

The repository visibility: public, private, or internal.

Default:public

pushed_atstring | null(date-time)required

Example:2011-01-26T19:06:43Z

created_atstring | null(date-time)required

Example:2011-01-26T19:01:12Z

updated_atstring | null(date-time)required

Example:2011-01-26T19:14:43Z

allow_rebase_mergeboolean

Whether to allow rebase merges for pull requests.

Default:true

Example:true

template_repositoryobject | null
Show Child Parameters
temp_clone_tokenstring
allow_squash_mergeboolean

Whether to allow squash merges for pull requests.

Default:true

Example:true

delete_branch_on_mergeboolean

Whether to delete head branches when pull requests are merged

Default:false

Example:false

allow_merge_commitboolean

Whether to allow merge commits for pull requests.

Default:true

Example:true

allow_forkingboolean

Whether to allow forking this repo

subscribers_countinteger
network_countinteger
open_issuesintegerrequired
watchersintegerrequired
master_branchstring
starred_atstring

Example:"2020-07-09T00:17:42Z"

post/repos/{template_owner}/{template_repo}/generate

Body

{ "owner": "octocat", "name": "Hello-World", "description": "This is your first repository", "include_all_branches": false, "private": false }
 
201 application/json

List public repositories

Lists all public repositories in the order that they were created.

Note:

  • For GitHub Enterprise Server, this endpoint will only list repositories available to all users on the enterprise.
  • Pagination is powered exclusively by the since parameter. Use the Link header to get the URL for the next page of repositories.
get
{protocol}://{hostname}/api/v3/repositories

Query Parameters

sinceinteger

A repository ID. Only return repositories with an ID greater than this ID.

visibilitystring

Specifies the types of repositories to return. Can be one of all or public. Default: public. Note: For GitHub Enterprise Server and GitHub AE, this endpoint will only list repositories available to all users on the enterprise.

Allowed values:allpublic

Default:public

Example:all

Response

application/json

Response

Minimal Repository

idintegerrequired

Example:1296269

node_idstringrequired

Example:MDEwOlJlcG9zaXRvcnkxMjk2MjY5

namestringrequired

Example:Hello-World

full_namestringrequired

Example:octocat/Hello-World

ownerobjectrequired

Simple User

Show Child Parameters
privatebooleanrequired
html_urlstring(uri)required

Example:https://github.com/octocat/Hello-World

descriptionstring | nullrequired

Example:This your first repo!

forkbooleanrequired
urlstring(uri)required

Example:https://api.github.com/repos/octocat/Hello-World

archive_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}

assignees_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/assignees{/user}

blobs_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}

branches_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/branches{/branch}

collaborators_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}

comments_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/comments{/number}

commits_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/commits{/sha}

compare_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}

contents_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/contents/{+path}

contributors_urlstring(uri)required

Example:http://api.github.com/repos/octocat/Hello-World/contributors

deployments_urlstring(uri)required

Example:http://api.github.com/repos/octocat/Hello-World/deployments

downloads_urlstring(uri)required

Example:http://api.github.com/repos/octocat/Hello-World/downloads

events_urlstring(uri)required

Example:http://api.github.com/repos/octocat/Hello-World/events

forks_urlstring(uri)required

Example:http://api.github.com/repos/octocat/Hello-World/forks

git_commits_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/git/commits{/sha}

git_refs_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/git/refs{/sha}

git_tags_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/git/tags{/sha}

git_urlstring
issue_comment_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/issues/comments{/number}

issue_events_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/issues/events{/number}

issues_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/issues{/number}

keys_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/keys{/key_id}

labels_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/labels{/name}

languages_urlstring(uri)required

Example:http://api.github.com/repos/octocat/Hello-World/languages

merges_urlstring(uri)required

Example:http://api.github.com/repos/octocat/Hello-World/merges

milestones_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/milestones{/number}

notifications_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}

pulls_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/pulls{/number}

releases_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/releases{/id}

ssh_urlstring
stargazers_urlstring(uri)required

Example:http://api.github.com/repos/octocat/Hello-World/stargazers

statuses_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/statuses/{sha}

subscribers_urlstring(uri)required

Example:http://api.github.com/repos/octocat/Hello-World/subscribers

subscription_urlstring(uri)required

Example:http://api.github.com/repos/octocat/Hello-World/subscription

tags_urlstring(uri)required

Example:http://api.github.com/repos/octocat/Hello-World/tags

teams_urlstring(uri)required

Example:http://api.github.com/repos/octocat/Hello-World/teams

trees_urlstringrequired

Example:http://api.github.com/repos/octocat/Hello-World/git/trees{/sha}

clone_urlstring
mirror_urlstring | null
hooks_urlstring(uri)required

Example:http://api.github.com/repos/octocat/Hello-World/hooks

svn_urlstring
homepagestring | null
languagestring | null
forks_countinteger
stargazers_countinteger
watchers_countinteger
sizeinteger
default_branchstring
open_issues_countinteger
is_templateboolean
topicsarray[string]
has_issuesboolean
has_projectsboolean
has_wikiboolean
has_pagesboolean
has_downloadsboolean
archivedboolean
disabledboolean
visibilitystring
pushed_atstring | null(date-time)

Example:2011-01-26T19:06:43Z

created_atstring | null(date-time)

Example:2011-01-26T19:01:12Z

updated_atstring | null(date-time)

Example:2011-01-26T19:14:43Z

permissionsobject
Show Child Parameters
template_repositoryobject | null

A git repository

Show Child Parameters
temp_clone_tokenstring
delete_branch_on_mergeboolean
subscribers_countinteger
network_countinteger
code_of_conductobject

Code Of Conduct

Show Child Parameters
licenseobject | null
Show Child Parameters
forksinteger

Example:0

open_issuesinteger

Example:0

watchersinteger

Example:0

allow_forkingboolean
get/repositories
 
application/json