Skip to content

Check team permissions for a repository

GET
/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}

Checks whether a team has admin, push, maintain, triage, or pull permission for a repository. Repositories inherited through a parent team will also be checked.

You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom media type via the application/vnd.github.v3.repository+json accept header.

If a team doesn’t have permission for the repository, you will receive a 404 Not Found response status.

If the repository is private, you must have at least read permission for that repository, and your token must have the repo or admin:org scope. Otherwise, you will receive a 404 Not Found response status.

[!NOTE] You can also specify a team by org_id and team_id using the route GET /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}.

API method documentation

org
required
string

The organization name. The name is not case sensitive.

team_slug
required
string

The slug of the team name.

owner
required
string

The account owner of the repository. The name is not case sensitive.

repo
required
string

The name of the repository without the .git extension. The name is not case sensitive.

Alternative response with repository permissions

Media type application/json
Team Repository

A team’s access to a repository.

object
id
required

Unique identifier of the repository

integer
node_id
required
string
name
required

The name of the repository.

string
full_name
required
string
license
required
License Simple

License Simple

object
key
required
string
name
required
string
url
required
string format: uri
nullable
spdx_id
required
string
nullable
node_id
required
string
html_url
string format: uri
forks
required
integer
permissions
object
admin
required
boolean
pull
required
boolean
triage
boolean
push
required
boolean
maintain
boolean
role_name
string
owner
required
Simple User

A GitHub user.

object
name
string
nullable
email
string
nullable
login
required
string
id
required
integer format: int64
node_id
required
string
avatar_url
required
string format: uri
gravatar_id
required
string
nullable
url
required
string format: uri
html_url
required
string format: uri
followers_url
required
string format: uri
following_url
required
string
gists_url
required
string
starred_url
required
string
subscriptions_url
required
string format: uri
organizations_url
required
string format: uri
repos_url
required
string format: uri
events_url
required
string
received_events_url
required
string format: uri
type
required
string
site_admin
required
boolean
starred_at
string
user_view_type
string
private
required

Whether the repository is private or public.

boolean
html_url
required
string format: uri
description
required
string
nullable
fork
required
boolean
url
required
string format: uri
archive_url
required
string
assignees_url
required
string
blobs_url
required
string
branches_url
required
string
collaborators_url
required
string
comments_url
required
string
commits_url
required
string
compare_url
required
string
contents_url
required
string
contributors_url
required
string format: uri
deployments_url
required
string format: uri
downloads_url
required
string format: uri
events_url
required
string format: uri
forks_url
required
string format: uri
git_commits_url
required
string
git_refs_url
required
string
git_tags_url
required
string
git_url
required
string
issue_comment_url
required
string
issue_events_url
required
string
issues_url
required
string
keys_url
required
string
labels_url
required
string
languages_url
required
string format: uri
merges_url
required
string format: uri
milestones_url
required
string
notifications_url
required
string
pulls_url
required
string
releases_url
required
string
ssh_url
required
string
stargazers_url
required
string format: uri
statuses_url
required
string
subscribers_url
required
string format: uri
subscription_url
required
string format: uri
tags_url
required
string format: uri
teams_url
required
string format: uri
trees_url
required
string
clone_url
required
string
mirror_url
required
string format: uri
nullable
hooks_url
required
string format: uri
svn_url
required
string format: uri
homepage
required
string format: uri
nullable
language
required
string
nullable
forks_count
required
integer
stargazers_count
required
integer
watchers_count
required
integer
size
required
integer
default_branch
required

The default branch of the repository.

string
open_issues_count
required
integer
is_template

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

boolean
topics
Array<string>
has_issues
required

Whether issues are enabled.

boolean
default: true
has_projects
required

Whether projects are enabled.

boolean
default: true
has_wiki
required

Whether the wiki is enabled.

boolean
default: true
has_pages
required
boolean
has_downloads
required

Whether downloads are enabled.

boolean
default: true
archived
required

Whether the repository is archived.

boolean
disabled
required

Returns whether or not this repository disabled.

boolean
visibility

The repository visibility: public, private, or internal.

string
default: public
pushed_at
required
string format: date-time
nullable
created_at
required
string format: date-time
nullable
updated_at
required
string format: date-time
nullable
allow_rebase_merge

Whether to allow rebase merges for pull requests.

boolean
default: true
temp_clone_token
string
allow_squash_merge

Whether to allow squash merges for pull requests.

boolean
default: true
allow_auto_merge

Whether to allow Auto-merge to be used on pull requests.

boolean
delete_branch_on_merge

Whether to delete head branches when pull requests are merged

boolean
allow_merge_commit

Whether to allow merge commits for pull requests.

boolean
default: true
allow_forking

Whether to allow forking this repo

boolean
web_commit_signoff_required

Whether to require contributors to sign off on web-based commits

boolean
subscribers_count
integer
network_count
integer
open_issues
required
integer
watchers
required
integer
master_branch
string
Examples
Example alternative-response-with-repository-permissions
{
"id": 1296269,
"node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5",
"name": "Hello-World",
"full_name": "octocat/Hello-World",
"owner": {
"login": "octocat",
"id": 1,
"node_id": "MDQ6VXNlcjE=",
"avatar_url": "https://github.com/images/error/octocat_happy.gif",
"gravatar_id": "",
"url": "https://api.github.com/users/octocat",
"html_url": "https://github.com/octocat",
"followers_url": "https://api.github.com/users/octocat/followers",
"following_url": "https://api.github.com/users/octocat/following{/other_user}",
"gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
"starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
"organizations_url": "https://api.github.com/users/octocat/orgs",
"repos_url": "https://api.github.com/users/octocat/repos",
"events_url": "https://api.github.com/users/octocat/events{/privacy}",
"received_events_url": "https://api.github.com/users/octocat/received_events",
"type": "User",
"site_admin": false
},
"private": false,
"html_url": "https://github.com/octocat/Hello-World",
"description": "This your first repo!",
"fork": false,
"url": "https://api.github.com/repos/octocat/Hello-World",
"archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}",
"assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}",
"blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}",
"branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}",
"collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}",
"comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}",
"commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}",
"compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}",
"contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}",
"contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors",
"deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments",
"downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads",
"events_url": "https://api.github.com/repos/octocat/Hello-World/events",
"forks_url": "https://api.github.com/repos/octocat/Hello-World/forks",
"git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}",
"git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}",
"git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}",
"git_url": "git:github.com/octocat/Hello-World.git",
"issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}",
"issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}",
"issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}",
"keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}",
"labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}",
"languages_url": "https://api.github.com/repos/octocat/Hello-World/languages",
"merges_url": "https://api.github.com/repos/octocat/Hello-World/merges",
"milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}",
"notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}",
"pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}",
"releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}",
"ssh_url": "git@github.com:octocat/Hello-World.git",
"stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers",
"statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}",
"subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers",
"subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription",
"tags_url": "https://api.github.com/repos/octocat/Hello-World/tags",
"teams_url": "https://api.github.com/repos/octocat/Hello-World/teams",
"trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}",
"clone_url": "https://github.com/octocat/Hello-World.git",
"mirror_url": "git:git.example.com/octocat/Hello-World",
"hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks",
"svn_url": "https://svn.github.com/octocat/Hello-World",
"homepage": "https://github.com",
"language": null,
"forks_count": 9,
"stargazers_count": 80,
"watchers_count": 80,
"size": 108,
"default_branch": "master",
"open_issues_count": 0,
"is_template": false,
"topics": [
"octocat",
"atom",
"electron",
"api"
],
"has_issues": true,
"has_projects": true,
"has_wiki": true,
"has_pages": false,
"has_downloads": true,
"archived": false,
"disabled": false,
"visibility": "public",
"pushed_at": "2011-01-26T19:06:43Z",
"created_at": "2011-01-26T19:01:12Z",
"updated_at": "2011-01-26T19:14:43Z",
"permissions": {
"admin": false,
"maintain": false,
"push": false,
"triage": false,
"pull": true
},
"role_name": "read",
"allow_rebase_merge": true,
"temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O",
"allow_squash_merge": true,
"allow_auto_merge": false,
"delete_branch_on_merge": true,
"allow_merge_commit": true,
"subscribers_count": 42,
"network_count": 0,
"license": {
"key": "mit",
"name": "MIT License",
"url": "https://api.github.com/licenses/mit",
"spdx_id": "MIT",
"node_id": "MDc6TGljZW5zZW1pdA==",
"html_url": "https://api.github.com/licenses/mit"
},
"forks": 1,
"open_issues": 1,
"watchers": 1
}

Response if team has permission for the repository. This is the response when the repository media type hasn’t been provded in the Accept header.

Not Found if team does not have permission for the repository