Teams
With the Teams API, you can create and manage teams in your GitHub organization.
This API is only available to authenticated members of the team's organization. OAuth access tokens require the read:org scope. GitHub generates the team's slug from the team name.
List teams
Lists all teams in an organization that are visible to the authenticated user.
get /orgs/{org}/teamsParameters
| Name | Type | In | Description |
|---|---|---|---|
accept | string | header | Setting to |
org | string | path | |
per_page | integer | query | Results per page (max 100) Default: |
page | integer | query | Page number of the results to fetch. Default: |
Code samples
Example
curl \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/orgs/ORG/teamsawait octokit.request('GET /orgs/{org}/teams', {
org: 'ORG'
})gh api \
-H "Accept: application/vnd.github.v3+json" \
/orgs/ORG/teamsResponse
Status: 200[
{
"id": 1,
"node_id": "MDQ6VGVhbTE=",
"url": "https://api.github.com/teams/1",
"html_url": "https://github.com/orgs/github/teams/justice-league",
"name": "Justice League",
"slug": "justice-league",
"description": "A great team.",
"privacy": "closed",
"permission": "admin",
"members_url": "https://api.github.com/teams/1/members{/member}",
"repositories_url": "https://api.github.com/teams/1/repos",
"parent": null
}
]Status codes
| HTTP Status Code | Description |
|---|---|
200 | OK |
403 | Forbidden |
Notes
Create a team
To create a team, the authenticated user must be a member or owner of {org}. By default, organization members can create teams. Organization owners can limit team creation to organization owners. For more information, see "Setting team creation permissions."
When you create a new team, you automatically become a team maintainer without explicitly adding yourself to the optional array of maintainers. For more information, see "About teams".
post /orgs/{org}/teamsParameters
| Name | Type | In | Description |
|---|---|---|---|
accept | string | header | Setting to |
org | string | path | |
name | string | body | Required. The name of the team. |
description | string | body | The description of the team. |
maintainers | array of strings | body | List GitHub IDs for organization members who will become team maintainers. |
repo_names | array of strings | body | The full name (e.g., "organization-name/repository-name") of repositories to add the team to. |
privacy | string | body | The level of privacy this team should have. The options are: |
permission | string | body | Deprecated. The permission that new repositories will be added to the team with when none is specified. Can be one of: Default: |
parent_team_id | integer | body | The ID of a team to set as the parent team. |
Code samples
Example
curl \
-X POST \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/orgs/ORG/teams \
-d '{"name":"Justice League","description":"A great team","permission":"push","privacy":"closed"}'await octokit.request('POST /orgs/{org}/teams', {
org: 'ORG',
name: 'Justice League',
description: 'A great team',
permission: 'push',
privacy: 'closed'
})gh api \
--method POST \
-H "Accept: application/vnd.github.v3+json" \
/orgs/ORG/teams \
-f name='Justice League' -f description='A great team' -f permission='push' -f privacy='closed'Response
Status: 201{
"id": 1,
"node_id": "MDQ6VGVhbTE=",
"url": "https://api.github.com/teams/1",
"html_url": "https://github.com/orgs/github/teams/justice-league",
"name": "Justice League",
"slug": "justice-league",
"description": "A great team.",
"privacy": "closed",
"permission": "admin",
"members_url": "https://api.github.com/teams/1/members{/member}",
"repositories_url": "https://api.github.com/teams/1/repos",
"parent": null,
"members_count": 3,
"repos_count": 10,
"created_at": "2017-07-14T16:53:42Z",
"updated_at": "2017-08-17T12:37:15Z",
"organization": {
"login": "github",
"id": 1,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjE=",
"url": "https://api.github.com/orgs/github",
"repos_url": "https://api.github.com/orgs/github/repos",
"events_url": "https://api.github.com/orgs/github/events",
"hooks_url": "https://api.github.com/orgs/github/hooks",
"issues_url": "https://api.github.com/orgs/github/issues",
"members_url": "https://api.github.com/orgs/github/members{/member}",
"public_members_url": "https://api.github.com/orgs/github/public_members{/member}",
"avatar_url": "https://github.com/images/error/octocat_happy.gif",
"description": "A great organization",
"name": "github",
"company": "GitHub",
"blog": "https://github.com/blog",
"location": "San Francisco",
"email": "octocat@github.com",
"is_verified": true,
"has_organization_projects": true,
"has_repository_projects": true,
"public_repos": 2,
"public_gists": 1,
"followers": 20,
"following": 0,
"html_url": "https://github.com/octocat",
"created_at": "2008-01-14T04:33:35Z",
"updated_at": "2017-08-17T12:37:15Z",
"type": "Organization"
}
}Status codes
| HTTP Status Code | Description |
|---|---|
201 | Created |
403 | Forbidden |
422 | Validation failed |
Notes
Get a team by name
Gets a team using the team's slug. GitHub generates the slug from the team name.
Note: You can also specify a team by org_id and team_id using the route GET /organizations/{org_id}/team/{team_id}.
get /orgs/{org}/teams/{team_slug}Parameters
| Name | Type | In | Description |
|---|---|---|---|
accept | string | header | Setting to |
org | string | path | |
team_slug | string | path | team_slug parameter |
Code samples
Example
curl \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/orgs/ORG/teams/TEAM_SLUGawait octokit.request('GET /orgs/{org}/teams/{team_slug}', {
org: 'ORG',
team_slug: 'TEAM_SLUG'
})gh api \
-H "Accept: application/vnd.github.v3+json" \
/orgs/ORG/teams/TEAM_SLUGResponse
Status: 200{
"id": 1,
"node_id": "MDQ6VGVhbTE=",
"url": "https://api.github.com/teams/1",
"html_url": "https://github.com/orgs/github/teams/justice-league",
"name": "Justice League",
"slug": "justice-league",
"description": "A great team.",
"privacy": "closed",
"permission": "admin",
"members_url": "https://api.github.com/teams/1/members{/member}",
"repositories_url": "https://api.github.com/teams/1/repos",
"parent": null,
"members_count": 3,
"repos_count": 10,
"created_at": "2017-07-14T16:53:42Z",
"updated_at": "2017-08-17T12:37:15Z",
"organization": {
"login": "github",
"id": 1,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjE=",
"url": "https://api.github.com/orgs/github",
"repos_url": "https://api.github.com/orgs/github/repos",
"events_url": "https://api.github.com/orgs/github/events",
"hooks_url": "https://api.github.com/orgs/github/hooks",
"issues_url": "https://api.github.com/orgs/github/issues",
"members_url": "https://api.github.com/orgs/github/members{/member}",
"public_members_url": "https://api.github.com/orgs/github/public_members{/member}",
"avatar_url": "https://github.com/images/error/octocat_happy.gif",
"description": "A great organization",
"name": "github",
"company": "GitHub",
"blog": "https://github.com/blog",
"location": "San Francisco",
"email": "octocat@github.com",
"is_verified": true,
"has_organization_projects": true,
"has_repository_projects": true,
"public_repos": 2,
"public_gists": 1,
"followers": 20,
"following": 0,
"html_url": "https://github.com/octocat",
"created_at": "2008-01-14T04:33:35Z",
"updated_at": "2017-08-17T12:37:15Z",
"type": "Organization"
}
}Status codes
| HTTP Status Code | Description |
|---|---|
200 | OK |
404 | Resource not found |
Notes
Update a team
To edit a team, the authenticated user must either be an organization owner or a team maintainer.
Note: You can also specify a team by org_id and team_id using the route PATCH /organizations/{org_id}/team/{team_id}.
patch /orgs/{org}/teams/{team_slug}Parameters
| Name | Type | In | Description |
|---|---|---|---|
accept | string | header | Setting to |
org | string | path | |
team_slug | string | path | team_slug parameter |
name | string | body | The name of the team. |
description | string | body | The description of the team. |
privacy | string | body | The level of privacy this team should have. Editing teams without specifying this parameter leaves |
permission | string | body | Deprecated. The permission that new repositories will be added to the team with when none is specified. Can be one of: Default: |
parent_team_id | integer or null | body | The ID of a team to set as the parent team. |
Code samples
Example
curl \
-X PATCH \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/orgs/ORG/teams/TEAM_SLUG \
-d '{"name":"new team name","description":"new team description","privacy":"closed"}'await octokit.request('PATCH /orgs/{org}/teams/{team_slug}', {
org: 'ORG',
team_slug: 'TEAM_SLUG',
name: 'new team name',
description: 'new team description',
privacy: 'closed'
})gh api \
--method PATCH \
-H "Accept: application/vnd.github.v3+json" \
/orgs/ORG/teams/TEAM_SLUG \
-f name='new team name' -f description='new team description' -f privacy='closed'Response
Status: 201{
"id": 1,
"node_id": "MDQ6VGVhbTE=",
"url": "https://api.github.com/teams/1",
"html_url": "https://github.com/orgs/github/teams/justice-league",
"name": "Justice League",
"slug": "justice-league",
"description": "A great team.",
"privacy": "closed",
"permission": "admin",
"members_url": "https://api.github.com/teams/1/members{/member}",
"repositories_url": "https://api.github.com/teams/1/repos",
"parent": null,
"members_count": 3,
"repos_count": 10,
"created_at": "2017-07-14T16:53:42Z",
"updated_at": "2017-08-17T12:37:15Z",
"organization": {
"login": "github",
"id": 1,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjE=",
"url": "https://api.github.com/orgs/github",
"repos_url": "https://api.github.com/orgs/github/repos",
"events_url": "https://api.github.com/orgs/github/events",
"hooks_url": "https://api.github.com/orgs/github/hooks",
"issues_url": "https://api.github.com/orgs/github/issues",
"members_url": "https://api.github.com/orgs/github/members{/member}",
"public_members_url": "https://api.github.com/orgs/github/public_members{/member}",
"avatar_url": "https://github.com/images/error/octocat_happy.gif",
"description": "A great organization",
"name": "github",
"company": "GitHub",
"blog": "https://github.com/blog",
"location": "San Francisco",
"email": "octocat@github.com",
"is_verified": true,
"has_organization_projects": true,
"has_repository_projects": true,
"public_repos": 2,
"public_gists": 1,
"followers": 20,
"following": 0,
"html_url": "https://github.com/octocat",
"created_at": "2008-01-14T04:33:35Z",
"updated_at": "2017-08-17T12:37:15Z",
"type": "Organization"
}
}Status codes
| HTTP Status Code | Description |
|---|---|
201 | Created |
Notes
Delete a team
To delete a team, the authenticated user must be an organization owner or team maintainer.
If you are an organization owner, deleting a parent team will delete all of its child teams as well.
Note: You can also specify a team by org_id and team_id using the route DELETE /organizations/{org_id}/team/{team_id}.
delete /orgs/{org}/teams/{team_slug}Parameters
| Name | Type | In | Description |
|---|---|---|---|
accept | string | header | Setting to |
org | string | path | |
team_slug | string | path | team_slug parameter |
Code samples
Example
curl \
-X DELETE \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/orgs/ORG/teams/TEAM_SLUGawait octokit.request('DELETE /orgs/{org}/teams/{team_slug}', {
org: 'ORG',
team_slug: 'TEAM_SLUG'
})gh api \
--method DELETE \
-H "Accept: application/vnd.github.v3+json" \
/orgs/ORG/teams/TEAM_SLUGResponse
Status: 204Status codes
| HTTP Status Code | Description |
|---|---|
204 | No Content |
Notes
List team projects
Lists the organization projects for a team.
Note: You can also specify a team by org_id and team_id using the route GET /organizations/{org_id}/team/{team_id}/projects.
get /orgs/{org}/teams/{team_slug}/projectsParameters
| Name | Type | In | Description |
|---|---|---|---|
accept | string | header | Setting to |
org | string | path | |
team_slug | string | path | team_slug parameter |
per_page | integer | query | Results per page (max 100) Default: |
page | integer | query | Page number of the results to fetch. Default: |
Code samples
Example
curl \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/orgs/ORG/teams/TEAM_SLUG/projectsawait octokit.request('GET /orgs/{org}/teams/{team_slug}/projects', {
org: 'ORG',
team_slug: 'TEAM_SLUG'
})gh api \
-H "Accept: application/vnd.github.v3+json" \
/orgs/ORG/teams/TEAM_SLUG/projectsResponse
Status: 200[
{
"owner_url": "https://api.github.com/orgs/octocat",
"url": "https://api.github.com/projects/1002605",
"html_url": "https://github.com/orgs/api-playground/projects/1",
"columns_url": "https://api.github.com/projects/1002605/columns",
"id": 1002605,
"node_id": "MDc6UHJvamVjdDEwMDI2MDU=",
"name": "Organization Roadmap",
"body": "High-level roadmap for the upcoming year.",
"number": 1,
"state": "open",
"creator": {
"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
},
"created_at": "2011-04-11T20:09:31Z",
"updated_at": "2014-03-04T18:58:10Z",
"organization_permission": "write",
"private": false,
"permissions": {
"read": true,
"write": true,
"admin": false
}
}
]Status codes
| HTTP Status Code | Description |
|---|---|
200 | OK |
Notes
Check team permissions for a project
Checks whether a team has read, write, or admin permissions for an organization project. The response includes projects inherited from a parent team.
Note: You can also specify a team by org_id and team_id using the route GET /organizations/{org_id}/team/{team_id}/projects/{project_id}.
get /orgs/{org}/teams/{team_slug}/projects/{project_id}Parameters
| Name | Type | In | Description |
|---|---|---|---|
accept | string | header | Setting to |
org | string | path | |
team_slug | string | path | team_slug parameter |
project_id | integer | path |
Code samples
Example
curl \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/orgs/ORG/teams/TEAM_SLUG/projects/PROJECT_IDawait octokit.request('GET /orgs/{org}/teams/{team_slug}/projects/{project_id}', {
org: 'ORG',
team_slug: 'TEAM_SLUG',
project_id: 'PROJECT_ID'
})gh api \
-H "Accept: application/vnd.github.v3+json" \
/orgs/ORG/teams/TEAM_SLUG/projects/PROJECT_IDResponse
Status: 200{
"owner_url": "https://api.github.com/orgs/octocat",
"url": "https://api.github.com/projects/1002605",
"html_url": "https://github.com/orgs/api-playground/projects/1",
"columns_url": "https://api.github.com/projects/1002605/columns",
"id": 1002605,
"node_id": "MDc6UHJvamVjdDEwMDI2MDU=",
"name": "Organization Roadmap",
"body": "High-level roadmap for the upcoming year.",
"number": 1,
"state": "open",
"creator": {
"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
},
"created_at": "2011-04-11T20:09:31Z",
"updated_at": "2014-03-04T18:58:10Z",
"organization_permission": "write",
"private": false,
"permissions": {
"read": true,
"write": true,
"admin": false
}
}Status codes
| HTTP Status Code | Description |
|---|---|
200 | OK |
404 | Not Found if project is not managed by this team |
Notes
Add or update team project permissions
Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have admin permissions for the project. The project and team must be part of the same organization.
Note: You can also specify a team by org_id and team_id using the route PUT /organizations/{org_id}/team/{team_id}/projects/{project_id}.
put /orgs/{org}/teams/{team_slug}/projects/{project_id}Parameters
| Name | Type | In | Description |
|---|---|---|---|
accept | string | header | Setting to |
org | string | path | |
team_slug | string | path | team_slug parameter |
project_id | integer | path | |
permission | string | body | The permission to grant to the team for this project. Can be one of: |
Code samples
Example
curl \
-X PUT \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/orgs/ORG/teams/TEAM_SLUG/projects/PROJECT_IDawait octokit.request('PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}', {
org: 'ORG',
team_slug: 'TEAM_SLUG',
project_id: 'PROJECT_ID'
})gh api \
--method PUT \
-H "Accept: application/vnd.github.v3+json" \
/orgs/ORG/teams/TEAM_SLUG/projects/PROJECT_IDResponse
Status: 204Status codes
| HTTP Status Code | Description |
|---|---|
204 | No Content |
403 | Forbidden if the project is not owned by the organization |
Notes
Remove a project from a team
Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have read access to both the team and project, or admin access to the team or project. This endpoint removes the project from the team, but does not delete the project.
Note: You can also specify a team by org_id and team_id using the route DELETE /organizations/{org_id}/team/{team_id}/projects/{project_id}.
delete /orgs/{org}/teams/{team_slug}/projects/{project_id}Parameters
| Name | Type | In | Description |
|---|---|---|---|
accept | string | header | Setting to |
org | string | path | |
team_slug | string | path | team_slug parameter |
project_id | integer | path |
Code samples
Example
curl \
-X DELETE \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/orgs/ORG/teams/TEAM_SLUG/projects/PROJECT_IDawait octokit.request('DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}', {
org: 'ORG',
team_slug: 'TEAM_SLUG',
project_id: 'PROJECT_ID'
})gh api \
--method DELETE \
-H "Accept: application/vnd.github.v3+json" \
/orgs/ORG/teams/TEAM_SLUG/projects/PROJECT_IDResponse
Status: 204Status codes
| HTTP Status Code | Description |
|---|---|
204 | No Content |
Notes
List team repositories
Lists a team's repositories visible to the authenticated user.
Note: You can also specify a team by org_id and team_id using the route GET /organizations/{org_id}/team/{team_id}/repos.
get /orgs/{org}/teams/{team_slug}/reposParameters
| Name | Type | In | Description |
|---|---|---|---|
accept | string | header | Setting to |
org | string | path | |
team_slug | string | path | team_slug parameter |
per_page | integer | query | Results per page (max 100) Default: |
page | integer | query | Page number of the results to fetch. Default: |
Code samples
Example
curl \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/orgs/ORG/teams/TEAM_SLUG/reposawait octokit.request('GET /orgs/{org}/teams/{team_slug}/repos', {
org: 'ORG',
team_slug: 'TEAM_SLUG'
})gh api \
-H "Accept: application/vnd.github.v3+json" \
/orgs/ORG/teams/TEAM_SLUG/reposResponse
Status: 200[
{
"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,
"push": false,
"pull": true
},
"template_repository": null
}
]Status codes
| HTTP Status Code | Description |
|---|---|
200 | OK |
Notes
Check team permissions for a repository
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.
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}.
get /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}Parameters
| Name | Type | In | Description |
|---|---|---|---|
accept | string | header | Setting to |
org | string | path | |
team_slug | string | path | team_slug parameter |
owner | string | path | |
repo | string | path |
Code samples
Example
curl \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/orgs/ORG/teams/TEAM_SLUG/repos/OWNER/REPOawait octokit.request('GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}', {
org: 'ORG',
team_slug: 'TEAM_SLUG',
owner: 'OWNER',
repo: 'REPO'
})gh api \
-H "Accept: application/vnd.github.v3+json" \
/orgs/ORG/teams/TEAM_SLUG/repos/OWNER/REPOAlternative response with repository permissions
Status: 200{
"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,
"template_repository": {
"id": 1296269,
"node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5",
"name": "Hello-World-Template",
"full_name": "octocat/Hello-World-Template",
"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-Template",
"description": "This your first repo!",
"fork": false,
"url": "https://api.github.com/repos/octocat/Hello-World-Template",
"archive_url": "https://api.github.com/repos/octocat/Hello-World-Template/{archive_format}{/ref}",
"assignees_url": "https://api.github.com/repos/octocat/Hello-World-Template/assignees{/user}",
"blobs_url": "https://api.github.com/repos/octocat/Hello-World-Template/git/blobs{/sha}",
"branches_url": "https://api.github.com/repos/octocat/Hello-World-Template/branches{/branch}",
"collaborators_url": "https://api.github.com/repos/octocat/Hello-World-Template/collaborators{/collaborator}",
"comments_url": "https://api.github.com/repos/octocat/Hello-World-Template/comments{/number}",
"commits_url": "https://api.github.com/repos/octocat/Hello-World-Template/commits{/sha}",
"compare_url": "https://api.github.com/repos/octocat/Hello-World-Template/compare/{base}...{head}",
"contents_url": "https://api.github.com/repos/octocat/Hello-World-Template/contents/{+path}",
"contributors_url": "https://api.github.com/repos/octocat/Hello-World-Template/contributors",
"deployments_url": "https://api.github.com/repos/octocat/Hello-World-Template/deployments",
"downloads_url": "https://api.github.com/repos/octocat/Hello-World-Template/downloads",
"events_url": "https://api.github.com/repos/octocat/Hello-World-Template/events",
"forks_url": "https://api.github.com/repos/octocat/Hello-World-Template/forks",
"git_commits_url": "https://api.github.com/repos/octocat/Hello-World-Template/git/commits{/sha}",
"git_refs_url": "https://api.github.com/repos/octocat/Hello-World-Template/git/refs{/sha}",
"git_tags_url": "https://api.github.com/repos/octocat/Hello-World-Template/git/tags{/sha}",
"git_url": "git:github.com/octocat/Hello-World-Template.git",
"issue_comment_url": "https://api.github.com/repos/octocat/Hello-World-Template/issues/comments{/number}",
"issue_events_url": "https://api.github.com/repos/octocat/Hello-World-Template/issues/events{/number}",
"issues_url": "https://api.github.com/repos/octocat/Hello-World-Template/issues{/number}",
"keys_url": "https://api.github.com/repos/octocat/Hello-World-Template/keys{/key_id}",
"labels_url": "https://api.github.com/repos/octocat/Hello-World-Template/labels{/name}",
"languages_url": "https://api.github.com/repos/octocat/Hello-World-Template/languages",
"merges_url": "https://api.github.com/repos/octocat/Hello-World-Template/merges",
"milestones_url": "https://api.github.com/repos/octocat/Hello-World-Template/milestones{/number}",
"notifications_url": "https://api.github.com/repos/octocat/Hello-World-Template/notifications{?since,all,participating}",
"pulls_url": "https://api.github.com/repos/octocat/Hello-World-Template/pulls{/number}",
"releases_url": "https://api.github.com/repos/octocat/Hello-World-Template/releases{/id}",
"ssh_url": "git@github.com:octocat/Hello-World-Template.git",
"stargazers_url": "https://api.github.com/repos/octocat/Hello-World-Template/stargazers",
"statuses_url": "https://api.github.com/repos/octocat/Hello-World-Template/statuses/{sha}",
"subscribers_url": "https://api.github.com/repos/octocat/Hello-World-Template/subscribers",
"subscription_url": "https://api.github.com/repos/octocat/Hello-World-Template/subscription",
"tags_url": "https://api.github.com/repos/octocat/Hello-World-Template/tags",
"teams_url": "https://api.github.com/repos/octocat/Hello-World-Template/teams",
"trees_url": "https://api.github.com/repos/octocat/Hello-World-Template/git/trees{/sha}",
"clone_url": "https://github.com/octocat/Hello-World-Template.git",
"mirror_url": "git:git.example.com/octocat/Hello-World-Template",
"hooks_url": "https://api.github.com/repos/octocat/Hello-World-Template/hooks",
"svn_url": "https://svn.github.com/octocat/Hello-World-Template",
"homepage": "https://github.com",
"language": null,
"forks": 9,
"forks_count": 9,
"stargazers_count": 80,
"watchers_count": 80,
"watchers": 80,
"size": 108,
"default_branch": "master",
"open_issues": 0,
"open_issues_count": 0,
"is_template": true,
"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"
},
"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": {
"pull": true,
"triage": false,
"push": false,
"maintain": false,
"admin": false
},
"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
},
"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
}Status codes
| HTTP Status Code | Description |
|---|---|
200 | Alternative response with repository permissions |
204 | 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. |
404 | Not Found if team does not have permission for the repository |
Notes
Add or update team repository permissions
To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a 422 Unprocessable Entity status if you attempt to add a repository to a team that is not owned by the organization. Note that, if you choose not to pass any parameters, you'll need to set Content-Length to zero when calling out to this endpoint. For more information, see "HTTP verbs."
Note: You can also specify a team by org_id and team_id using the route PUT /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}.
For more information about the permission levels, see "Repository permission levels for an organization".
put /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}Parameters
| Name | Type | In | Description |
|---|---|---|---|
accept | string | header | Setting to |
org | string | path | |
team_slug | string | path | team_slug parameter |
owner | string | path | |
repo | string | path | |
permission | string | body | The permission to grant the team on this repository. Can be one of: If no permission is specified, the team's Default: |
Code samples
Example
curl \
-X PUT \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/orgs/ORG/teams/TEAM_SLUG/repos/OWNER/REPOawait octokit.request('PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}', {
org: 'ORG',
team_slug: 'TEAM_SLUG',
owner: 'OWNER',
repo: 'REPO'
})gh api \
--method PUT \
-H "Accept: application/vnd.github.v3+json" \
/orgs/ORG/teams/TEAM_SLUG/repos/OWNER/REPOResponse
Status: 204Status codes
| HTTP Status Code | Description |
|---|---|
204 | No Content |
Notes
Remove a repository from a team
If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. This does not delete the repository, it just removes it from the team.
Note: You can also specify a team by org_id and team_id using the route DELETE /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}.
delete /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}Parameters
| Name | Type | In | Description |
|---|---|---|---|
accept | string | header | Setting to |
org | string | path | |
team_slug | string | path | team_slug parameter |
owner | string | path | |
repo | string | path |
Code samples
Example
curl \
-X DELETE \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/orgs/ORG/teams/TEAM_SLUG/repos/OWNER/REPOawait octokit.request('DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}', {
org: 'ORG',
team_slug: 'TEAM_SLUG',
owner: 'OWNER',
repo: 'REPO'
})gh api \
--method DELETE \
-H "Accept: application/vnd.github.v3+json" \
/orgs/ORG/teams/TEAM_SLUG/repos/OWNER/REPOResponse
Status: 204Status codes
| HTTP Status Code | Description |
|---|---|
204 | No Content |
Notes
List child teams
Lists the child teams of the team specified by {team_slug}.
Note: You can also specify a team by org_id and team_id using the route GET /organizations/{org_id}/team/{team_id}/teams.
get /orgs/{org}/teams/{team_slug}/teamsParameters
| Name | Type | In | Description |
|---|---|---|---|
accept | string | header | Setting to |
org | string | path | |
team_slug | string | path | team_slug parameter |
per_page | integer | query | Results per page (max 100) Default: |
page | integer | query | Page number of the results to fetch. Default: |
Code samples
Example
curl \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/orgs/ORG/teams/TEAM_SLUG/teamsawait octokit.request('GET /orgs/{org}/teams/{team_slug}/teams', {
org: 'ORG',
team_slug: 'TEAM_SLUG'
})gh api \
-H "Accept: application/vnd.github.v3+json" \
/orgs/ORG/teams/TEAM_SLUG/teamsif child teams exist
Status: 200[
{
"id": 2,
"node_id": "MDQ6VGVhbTI=",
"url": "https://api.github.com/teams/2",
"name": "Original Roster",
"slug": "original-roster",
"description": "Started it all.",
"privacy": "closed",
"permission": "admin",
"members_url": "https://api.github.com/teams/2/members{/member}",
"repositories_url": "https://api.github.com/teams/2/repos",
"parent": {
"id": 1,
"node_id": "MDQ6VGVhbTE=",
"url": "https://api.github.com/teams/1",
"html_url": "https://github.com/orgs/github/teams/justice-league",
"name": "Justice League",
"slug": "justice-league",
"description": "A great team.",
"privacy": "closed",
"permission": "admin",
"members_url": "https://api.github.com/teams/1/members{/member}",
"repositories_url": "https://api.github.com/teams/1/repos"
},
"html_url": "https://github.com/orgs/rails/teams/core"
}
]Status codes
| HTTP Status Code | Description |
|---|---|
200 | if child teams exist |
Notes
Get a team (Legacy)
Deprecation Notice: This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the Get a team by name endpoint.
get /teams/{team_id}Parameters
| Name | Type | In | Description |
|---|---|---|---|
accept | string | header | Setting to |
team_id | integer | path |
Code samples
Example
curl \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/teams/TEAM_IDawait octokit.request('GET /teams/{team_id}', {
team_id: 'TEAM_ID'
})gh api \
-H "Accept: application/vnd.github.v3+json" \
/teams/TEAM_IDResponse
Status: 200{
"id": 1,
"node_id": "MDQ6VGVhbTE=",
"url": "https://api.github.com/teams/1",
"html_url": "https://github.com/orgs/github/teams/justice-league",
"name": "Justice League",
"slug": "justice-league",
"description": "A great team.",
"privacy": "closed",
"permission": "admin",
"members_url": "https://api.github.com/teams/1/members{/member}",
"repositories_url": "https://api.github.com/teams/1/repos",
"parent": null,
"members_count": 3,
"repos_count": 10,
"created_at": "2017-07-14T16:53:42Z",
"updated_at": "2017-08-17T12:37:15Z",
"organization": {
"login": "github",
"id": 1,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjE=",
"url": "https://api.github.com/orgs/github",
"repos_url": "https://api.github.com/orgs/github/repos",
"events_url": "https://api.github.com/orgs/github/events",
"hooks_url": "https://api.github.com/orgs/github/hooks",
"issues_url": "https://api.github.com/orgs/github/issues",
"members_url": "https://api.github.com/orgs/github/members{/member}",
"public_members_url": "https://api.github.com/orgs/github/public_members{/member}",
"avatar_url": "https://github.com/images/error/octocat_happy.gif",
"description": "A great organization",
"name": "github",
"company": "GitHub",
"blog": "https://github.com/blog",
"location": "San Francisco",
"email": "octocat@github.com",
"is_verified": true,
"has_organization_projects": true,
"has_repository_projects": true,
"public_repos": 2,
"public_gists": 1,
"followers": 20,
"following": 0,
"html_url": "https://github.com/octocat",
"created_at": "2008-01-14T04:33:35Z",
"updated_at": "2017-08-17T12:37:15Z",
"type": "Organization"
}
}Status codes
| HTTP Status Code | Description |
|---|---|
200 | OK |
404 | Resource not found |
Notes
Update a team (Legacy)
Deprecation Notice: This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new Update a team endpoint.
To edit a team, the authenticated user must either be an organization owner or a team maintainer.
Note: With nested teams, the privacy for parent teams cannot be secret.
patch /teams/{team_id}Parameters
| Name | Type | In | Description |
|---|---|---|---|
accept | string | header | Setting to |
team_id | integer | path | |
name | string | body | Required. The name of the team. |
description | string | body | The description of the team. |
privacy | string | body | The level of privacy this team should have. Editing teams without specifying this parameter leaves |
permission | string | body | Deprecated. The permission that new repositories will be added to the team with when none is specified. Can be one of: Default: |
parent_team_id | integer or null | body | The ID of a team to set as the parent team. |
Code samples
Example
curl \
-X PATCH \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/teams/TEAM_ID \
-d '{"name":"new team name","description":"new team description","privacy":"closed"}'await octokit.request('PATCH /teams/{team_id}', {
team_id: 'TEAM_ID',
name: 'new team name',
description: 'new team description',
privacy: 'closed'
})gh api \
--method PATCH \
-H "Accept: application/vnd.github.v3+json" \
/teams/TEAM_ID \
-f name='new team name' -f description='new team description' -f privacy='closed'Response when the updated information already exists
Status: 200{
"id": 1,
"node_id": "MDQ6VGVhbTE=",
"url": "https://api.github.com/teams/1",
"html_url": "https://github.com/orgs/github/teams/justice-league",
"name": "Justice League",
"slug": "justice-league",
"description": "A great team.",
"privacy": "closed",
"permission": "admin",
"members_url": "https://api.github.com/teams/1/members{/member}",
"repositories_url": "https://api.github.com/teams/1/repos",
"parent": null,
"members_count": 3,
"repos_count": 10,
"created_at": "2017-07-14T16:53:42Z",
"updated_at": "2017-08-17T12:37:15Z",
"organization": {
"login": "github",
"id": 1,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjE=",
"url": "https://api.github.com/orgs/github",
"repos_url": "https://api.github.com/orgs/github/repos",
"events_url": "https://api.github.com/orgs/github/events",
"hooks_url": "https://api.github.com/orgs/github/hooks",
"issues_url": "https://api.github.com/orgs/github/issues",
"members_url": "https://api.github.com/orgs/github/members{/member}",
"public_members_url": "https://api.github.com/orgs/github/public_members{/member}",
"avatar_url": "https://github.com/images/error/octocat_happy.gif",
"description": "A great organization",
"name": "github",
"company": "GitHub",
"blog": "https://github.com/blog",
"location": "San Francisco",
"email": "octocat@github.com",
"is_verified": true,
"has_organization_projects": true,
"has_repository_projects": true,
"public_repos": 2,
"public_gists": 1,
"followers": 20,
"following": 0,
"html_url": "https://github.com/octocat",
"created_at": "2008-01-14T04:33:35Z",
"updated_at": "2017-08-17T12:37:15Z",
"type": "Organization"
}
}Example
curl \
-X PATCH \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/teams/TEAM_ID \
-d '{"name":"new team name","description":"new team description","privacy":"closed"}'await octokit.request('PATCH /teams/{team_id}', {
team_id: 'TEAM_ID',
name: 'new team name',
description: 'new team description',
privacy: 'closed'
})gh api \
--method PATCH \
-H "Accept: application/vnd.github.v3+json" \
/teams/TEAM_ID \
-f name='new team name' -f description='new team description' -f privacy='closed'Response
Status: 201{
"id": 1,
"node_id": "MDQ6VGVhbTE=",
"url": "https://api.github.com/teams/1",
"html_url": "https://github.com/orgs/github/teams/justice-league",
"name": "Justice League",
"slug": "justice-league",
"description": "A great team.",
"privacy": "closed",
"permission": "admin",
"members_url": "https://api.github.com/teams/1/members{/member}",
"repositories_url": "https://api.github.com/teams/1/repos",
"parent": null,
"members_count": 3,
"repos_count": 10,
"created_at": "2017-07-14T16:53:42Z",
"updated_at": "2017-08-17T12:37:15Z",
"organization": {
"login": "github",
"id": 1,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjE=",
"url": "https://api.github.com/orgs/github",
"repos_url": "https://api.github.com/orgs/github/repos",
"events_url": "https://api.github.com/orgs/github/events",
"hooks_url": "https://api.github.com/orgs/github/hooks",
"issues_url": "https://api.github.com/orgs/github/issues",
"members_url": "https://api.github.com/orgs/github/members{/member}",
"public_members_url": "https://api.github.com/orgs/github/public_members{/member}",
"avatar_url": "https://github.com/images/error/octocat_happy.gif",
"description": "A great organization",
"name": "github",
"company": "GitHub",
"blog": "https://github.com/blog",
"location": "San Francisco",
"email": "octocat@github.com",
"is_verified": true,
"has_organization_projects": true,
"has_repository_projects": true,
"public_repos": 2,
"public_gists": 1,
"followers": 20,
"following": 0,
"html_url": "https://github.com/octocat",
"created_at": "2008-01-14T04:33:35Z",
"updated_at": "2017-08-17T12:37:15Z",
"type": "Organization"
}
}Status codes
| HTTP Status Code | Description |
|---|---|
200 | Response when the updated information already exists |
201 | Created |
403 | Forbidden |
404 | Resource not found |
422 | Validation failed |
Notes
Delete a team (Legacy)
Deprecation Notice: This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new Delete a team endpoint.
To delete a team, the authenticated user must be an organization owner or team maintainer.
If you are an organization owner, deleting a parent team will delete all of its child teams as well.
delete /teams/{team_id}Parameters
| Name | Type | In | Description |
|---|---|---|---|
accept | string | header | Setting to |
team_id | integer | path |
Code samples
Example
curl \
-X DELETE \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/teams/TEAM_IDawait octokit.request('DELETE /teams/{team_id}', {
team_id: 'TEAM_ID'
})gh api \
--method DELETE \
-H "Accept: application/vnd.github.v3+json" \
/teams/TEAM_IDResponse
Status: 204Status codes
| HTTP Status Code | Description |
|---|---|
204 | No Content |
404 | Resource not found |
422 | Validation failed |
Notes
List team projects (Legacy)
Deprecation Notice: This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new List team projects endpoint.
Lists the organization projects for a team.
get /teams/{team_id}/projectsParameters
| Name | Type | In | Description |
|---|---|---|---|
accept | string | header | Setting to |
team_id | integer | path | |
per_page | integer | query | Results per page (max 100) Default: |
page | integer | query | Page number of the results to fetch. Default: |
Code samples
Example
curl \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/teams/TEAM_ID/projectsawait octokit.request('GET /teams/{team_id}/projects', {
team_id: 'TEAM_ID'
})gh api \
-H "Accept: application/vnd.github.v3+json" \
/teams/TEAM_ID/projectsResponse
Status: 200[
{
"owner_url": "https://api.github.com/orgs/octocat",
"url": "https://api.github.com/projects/1002605",
"html_url": "https://github.com/orgs/api-playground/projects/1",
"columns_url": "https://api.github.com/projects/1002605/columns",
"id": 1002605,
"node_id": "MDc6UHJvamVjdDEwMDI2MDU=",
"name": "Organization Roadmap",
"body": "High-level roadmap for the upcoming year.",
"number": 1,
"state": "open",
"creator": {
"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
},
"created_at": "2011-04-11T20:09:31Z",
"updated_at": "2014-03-04T18:58:10Z",
"organization_permission": "write",
"private": false,
"permissions": {
"read": true,
"write": true,
"admin": false
}
}
]Status codes
| HTTP Status Code | Description |
|---|---|
200 | OK |
404 | Resource not found |
Notes
Check team permissions for a project (Legacy)
Deprecation Notice: This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new Check team permissions for a project endpoint.
Checks whether a team has read, write, or admin permissions for an organization project. The response includes projects inherited from a parent team.
get /teams/{team_id}/projects/{project_id}Parameters
| Name | Type | In | Description |
|---|---|---|---|
accept | string | header | Setting to |
team_id | integer | path | |
project_id | integer | path |
Code samples
Example
curl \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/teams/TEAM_ID/projects/PROJECT_IDawait octokit.request('GET /teams/{team_id}/projects/{project_id}', {
team_id: 'TEAM_ID',
project_id: 'PROJECT_ID'
})gh api \
-H "Accept: application/vnd.github.v3+json" \
/teams/TEAM_ID/projects/PROJECT_IDResponse
Status: 200{
"owner_url": "https://api.github.com/orgs/octocat",
"url": "https://api.github.com/projects/1002605",
"html_url": "https://github.com/orgs/api-playground/projects/1",
"columns_url": "https://api.github.com/projects/1002605/columns",
"id": 1002605,
"node_id": "MDc6UHJvamVjdDEwMDI2MDU=",
"name": "Organization Roadmap",
"body": "High-level roadmap for the upcoming year.",
"number": 1,
"state": "open",
"creator": {
"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
},
"created_at": "2011-04-11T20:09:31Z",
"updated_at": "2014-03-04T18:58:10Z",
"organization_permission": "write",
"private": false,
"permissions": {
"read": true,
"write": true,
"admin": false
}
}Status codes
| HTTP Status Code | Description |
|---|---|
200 | OK |
404 | Not Found if project is not managed by this team |
Notes
Add or update team project permissions (Legacy)
Deprecation Notice: This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new Add or update team project permissions endpoint.
Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have admin permissions for the project. The project and team must be part of the same organization.
put /teams/{team_id}/projects/{project_id}Parameters
| Name | Type | In | Description |
|---|---|---|---|
accept | string | header | Setting to |
team_id | integer | path | |
project_id | integer | path | |
permission | string | body | The permission to grant to the team for this project. Can be one of: |
Code samples
Example
curl \
-X PUT \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/teams/TEAM_ID/projects/PROJECT_IDawait octokit.request('PUT /teams/{team_id}/projects/{project_id}', {
team_id: 'TEAM_ID',
project_id: 'PROJECT_ID'
})gh api \
--method PUT \
-H "Accept: application/vnd.github.v3+json" \
/teams/TEAM_ID/projects/PROJECT_IDResponse
Status: 204Status codes
| HTTP Status Code | Description |
|---|---|
204 | No Content |
403 | Forbidden if the project is not owned by the organization |
404 | Resource not found |
422 | Validation failed |
Notes
Remove a project from a team (Legacy)
Deprecation Notice: This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new Remove a project from a team endpoint.
Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have read access to both the team and project, or admin access to the team or project. Note: This endpoint removes the project from the team, but does not delete it.
delete /teams/{team_id}/projects/{project_id}Parameters
| Name | Type | In | Description |
|---|---|---|---|
accept | string | header | Setting to |
team_id | integer | path | |
project_id | integer | path |
Code samples
Example
curl \
-X DELETE \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/teams/TEAM_ID/projects/PROJECT_IDawait octokit.request('DELETE /teams/{team_id}/projects/{project_id}', {
team_id: 'TEAM_ID',
project_id: 'PROJECT_ID'
})gh api \
--method DELETE \
-H "Accept: application/vnd.github.v3+json" \
/teams/TEAM_ID/projects/PROJECT_IDResponse
Status: 204Status codes
| HTTP Status Code | Description |
|---|---|
204 | No Content |
404 | Resource not found |
422 | Validation failed |
Notes
List team repositories (Legacy)
Deprecation Notice: This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new List team repositories endpoint.
get /teams/{team_id}/reposParameters
| Name | Type | In | Description |
|---|---|---|---|
accept | string | header | Setting to |
team_id | integer | path | |
per_page | integer | query | Results per page (max 100) Default: |
page | integer | query | Page number of the results to fetch. Default: |
Code samples
Example
curl \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/teams/TEAM_ID/reposawait octokit.request('GET /teams/{team_id}/repos', {
team_id: 'TEAM_ID'
})gh api \
-H "Accept: application/vnd.github.v3+json" \
/teams/TEAM_ID/reposResponse
Status: 200[
{
"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,
"push": false,
"pull": true
},
"template_repository": null
}
]Status codes
| HTTP Status Code | Description |
|---|---|
200 | OK |
404 | Resource not found |
Notes
Check team permissions for a repository (Legacy)
Note: Repositories inherited through a parent team will also be checked.
Deprecation Notice: This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new Check team permissions for a repository endpoint.
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 Accept header:
get /teams/{team_id}/repos/{owner}/{repo}Parameters
| Name | Type | In | Description |
|---|---|---|---|
accept | string | header | Setting to |
team_id | integer | path | |
owner | string | path | |
repo | string | path |
Code samples
Example
curl \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/teams/TEAM_ID/repos/OWNER/REPOawait octokit.request('GET /teams/{team_id}/repos/{owner}/{repo}', {
team_id: 'TEAM_ID',
owner: 'OWNER',
repo: 'REPO'
})gh api \
-H "Accept: application/vnd.github.v3+json" \
/teams/TEAM_ID/repos/OWNER/REPOAlternative response with extra repository information
Status: 200{
"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,
"template_repository": {
"id": 1296269,
"node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5",
"name": "Hello-World-Template",
"full_name": "octocat/Hello-World-Template",
"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-Template",
"description": "This your first repo!",
"fork": false,
"url": "https://api.github.com/repos/octocat/Hello-World-Template",
"archive_url": "https://api.github.com/repos/octocat/Hello-World-Template/{archive_format}{/ref}",
"assignees_url": "https://api.github.com/repos/octocat/Hello-World-Template/assignees{/user}",
"blobs_url": "https://api.github.com/repos/octocat/Hello-World-Template/git/blobs{/sha}",
"branches_url": "https://api.github.com/repos/octocat/Hello-World-Template/branches{/branch}",
"collaborators_url": "https://api.github.com/repos/octocat/Hello-World-Template/collaborators{/collaborator}",
"comments_url": "https://api.github.com/repos/octocat/Hello-World-Template/comments{/number}",
"commits_url": "https://api.github.com/repos/octocat/Hello-World-Template/commits{/sha}",
"compare_url": "https://api.github.com/repos/octocat/Hello-World-Template/compare/{base}...{head}",
"contents_url": "https://api.github.com/repos/octocat/Hello-World-Template/contents/{+path}",
"contributors_url": "https://api.github.com/repos/octocat/Hello-World-Template/contributors",
"deployments_url": "https://api.github.com/repos/octocat/Hello-World-Template/deployments",
"downloads_url": "https://api.github.com/repos/octocat/Hello-World-Template/downloads",
"events_url": "https://api.github.com/repos/octocat/Hello-World-Template/events",
"forks_url": "https://api.github.com/repos/octocat/Hello-World-Template/forks",
"git_commits_url": "https://api.github.com/repos/octocat/Hello-World-Template/git/commits{/sha}",
"git_refs_url": "https://api.github.com/repos/octocat/Hello-World-Template/git/refs{/sha}",
"git_tags_url": "https://api.github.com/repos/octocat/Hello-World-Template/git/tags{/sha}",
"git_url": "git:github.com/octocat/Hello-World-Template.git",
"issue_comment_url": "https://api.github.com/repos/octocat/Hello-World-Template/issues/comments{/number}",
"issue_events_url": "https://api.github.com/repos/octocat/Hello-World-Template/issues/events{/number}",
"issues_url": "https://api.github.com/repos/octocat/Hello-World-Template/issues{/number}",
"keys_url": "https://api.github.com/repos/octocat/Hello-World-Template/keys{/key_id}",
"labels_url": "https://api.github.com/repos/octocat/Hello-World-Template/labels{/name}",
"languages_url": "https://api.github.com/repos/octocat/Hello-World-Template/languages",
"merges_url": "https://api.github.com/repos/octocat/Hello-World-Template/merges",
"milestones_url": "https://api.github.com/repos/octocat/Hello-World-Template/milestones{/number}",
"notifications_url": "https://api.github.com/repos/octocat/Hello-World-Template/notifications{?since,all,participating}",
"pulls_url": "https://api.github.com/repos/octocat/Hello-World-Template/pulls{/number}",
"releases_url": "https://api.github.com/repos/octocat/Hello-World-Template/releases{/id}",
"ssh_url": "git@github.com:octocat/Hello-World-Template.git",
"stargazers_url": "https://api.github.com/repos/octocat/Hello-World-Template/stargazers",
"statuses_url": "https://api.github.com/repos/octocat/Hello-World-Template/statuses/{sha}",
"subscribers_url": "https://api.github.com/repos/octocat/Hello-World-Template/subscribers",
"subscription_url": "https://api.github.com/repos/octocat/Hello-World-Template/subscription",
"tags_url": "https://api.github.com/repos/octocat/Hello-World-Template/tags",
"teams_url": "https://api.github.com/repos/octocat/Hello-World-Template/teams",
"trees_url": "https://api.github.com/repos/octocat/Hello-World-Template/git/trees{/sha}",
"clone_url": "https://github.com/octocat/Hello-World-Template.git",
"mirror_url": "git:git.example.com/octocat/Hello-World-Template",
"hooks_url": "https://api.github.com/repos/octocat/Hello-World-Template/hooks",
"svn_url": "https://svn.github.com/octocat/Hello-World-Template",
"homepage": "https://github.com",
"language": null,
"forks": 9,
"forks_count": 9,
"stargazers_count": 80,
"watchers_count": 80,
"watchers": 80,
"size": 108,
"default_branch": "master",
"open_issues": 0,
"open_issues_count": 0,
"is_template": true,
"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"
},
"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": {
"pull": true,
"triage": false,
"push": false,
"maintain": false,
"admin": false
},
"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
},
"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
}Status codes
| HTTP Status Code | Description |
|---|---|
200 | Alternative response with extra repository information |
204 | Response if repository is managed by this team |
404 | Not Found if repository is not managed by this team |
Notes
Add or update team repository permissions (Legacy)
Deprecation Notice: This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new "Add or update team repository permissions" endpoint.
To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a 422 Unprocessable Entity status if you attempt to add a repository to a team that is not owned by the organization.
Note that, if you choose not to pass any parameters, you'll need to set Content-Length to zero when calling out to this endpoint. For more information, see "HTTP verbs."
put /teams/{team_id}/repos/{owner}/{repo}Parameters
| Name | Type | In | Description |
|---|---|---|---|
accept | string | header | Setting to |
team_id | integer | path | |
owner | string | path | |
repo | string | path | |
permission | string | body | The permission to grant the team on this repository. Can be one of: If no permission is specified, the team's |
Code samples
Example
curl \
-X PUT \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/teams/TEAM_ID/repos/OWNER/REPOawait octokit.request('PUT /teams/{team_id}/repos/{owner}/{repo}', {
team_id: 'TEAM_ID',
owner: 'OWNER',
repo: 'REPO'
})gh api \
--method PUT \
-H "Accept: application/vnd.github.v3+json" \
/teams/TEAM_ID/repos/OWNER/REPOResponse
Status: 204Status codes
| HTTP Status Code | Description |
|---|---|
204 | No Content |
403 | Forbidden |
422 | Validation failed |
Notes
Remove a repository from a team (Legacy)
Deprecation Notice: This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new Remove a repository from a team endpoint.
If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. NOTE: This does not delete the repository, it just removes it from the team.
delete /teams/{team_id}/repos/{owner}/{repo}Parameters
| Name | Type | In | Description |
|---|---|---|---|
accept | string | header | Setting to |
team_id | integer | path | |
owner | string | path | |
repo | string | path |
Code samples
Example
curl \
-X DELETE \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/teams/TEAM_ID/repos/OWNER/REPOawait octokit.request('DELETE /teams/{team_id}/repos/{owner}/{repo}', {
team_id: 'TEAM_ID',
owner: 'OWNER',
repo: 'REPO'
})gh api \
--method DELETE \
-H "Accept: application/vnd.github.v3+json" \
/teams/TEAM_ID/repos/OWNER/REPOResponse
Status: 204Status codes
| HTTP Status Code | Description |
|---|---|
204 | No Content |
Notes
List child teams (Legacy)
Deprecation Notice: This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new List child teams endpoint.
get /teams/{team_id}/teamsParameters
| Name | Type | In | Description |
|---|---|---|---|
accept | string | header | Setting to |
team_id | integer | path | |
per_page | integer | query | Results per page (max 100) Default: |
page | integer | query | Page number of the results to fetch. Default: |
Code samples
Example
curl \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/teams/TEAM_ID/teamsawait octokit.request('GET /teams/{team_id}/teams', {
team_id: 'TEAM_ID'
})gh api \
-H "Accept: application/vnd.github.v3+json" \
/teams/TEAM_ID/teamsif child teams exist
Status: 200[
{
"id": 2,
"node_id": "MDQ6VGVhbTI=",
"url": "https://api.github.com/teams/2",
"name": "Original Roster",
"slug": "original-roster",
"description": "Started it all.",
"privacy": "closed",
"permission": "admin",
"members_url": "https://api.github.com/teams/2/members{/member}",
"repositories_url": "https://api.github.com/teams/2/repos",
"parent": {
"id": 1,
"node_id": "MDQ6VGVhbTE=",
"url": "https://api.github.com/teams/1",
"html_url": "https://github.com/orgs/github/teams/justice-league",
"name": "Justice League",
"slug": "justice-league",
"description": "A great team.",
"privacy": "closed",
"permission": "admin",
"members_url": "https://api.github.com/teams/1/members{/member}",
"repositories_url": "https://api.github.com/teams/1/repos"
},
"html_url": "https://github.com/orgs/rails/teams/core"
}
]Status codes
| HTTP Status Code | Description |
|---|---|
200 | if child teams exist |
403 | Forbidden |
404 | Resource not found |
422 | Validation failed |
Notes
List teams for the authenticated user
List all of the teams across all of the organizations to which the authenticated user belongs. This method requires user, repo, or read:org scope when authenticating via OAuth.
get /user/teamsParameters
| Name | Type | In | Description |
|---|---|---|---|
accept | string | header | Setting to |
per_page | integer | query | Results per page (max 100) Default: |
page | integer | query | Page number of the results to fetch. Default: |
Code samples
Example
curl \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/user/teamsawait octokit.request('GET /user/teams', {})gh api \
-H "Accept: application/vnd.github.v3+json" \
/user/teamsResponse
Status: 200[
{
"id": 1,
"node_id": "MDQ6VGVhbTE=",
"url": "https://api.github.com/teams/1",
"html_url": "https://github.com/orgs/github/teams/justice-league",
"name": "Justice League",
"slug": "justice-league",
"description": "A great team.",
"privacy": "closed",
"permission": "admin",
"members_url": "https://api.github.com/teams/1/members{/member}",
"repositories_url": "https://api.github.com/teams/1/repos",
"parent": null,
"members_count": 3,
"repos_count": 10,
"created_at": "2017-07-14T16:53:42Z",
"updated_at": "2017-08-17T12:37:15Z",
"organization": {
"login": "github",
"id": 1,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjE=",
"url": "https://api.github.com/orgs/github",
"repos_url": "https://api.github.com/orgs/github/repos",
"events_url": "https://api.github.com/orgs/github/events",
"hooks_url": "https://api.github.com/orgs/github/hooks",
"issues_url": "https://api.github.com/orgs/github/issues",
"members_url": "https://api.github.com/orgs/github/members{/member}",
"public_members_url": "https://api.github.com/orgs/github/public_members{/member}",
"avatar_url": "https://github.com/images/error/octocat_happy.gif",
"description": "A great organization",
"name": "github",
"company": "GitHub",
"blog": "https://github.com/blog",
"location": "San Francisco",
"email": "octocat@github.com",
"is_verified": true,
"has_organization_projects": true,
"has_repository_projects": true,
"public_repos": 2,
"public_gists": 1,
"followers": 20,
"following": 0,
"html_url": "https://github.com/octocat",
"created_at": "2008-01-14T04:33:35Z",
"updated_at": "2017-08-17T12:37:15Z",
"type": "Organization"
}
}
]Status codes
| HTTP Status Code | Description |
|---|---|
200 | OK |
304 | Not modified |
403 | Forbidden |
404 | Resource not found |