PATCH
PATCH /orgs/{org}/teams/{team_slug} — GitHub API
GitHub token (required); https://api.github.com
GitHub APIUpdate a team
- Base URL
- https://api.github.com
- Auth
- Authorization: Bearer <GITHUB_API_KEY>
- Last verified
- 2026-10-20 · upstream hash matched
Actions Try in browser→
Agents: curl -H "Accept: text/markdown" this URL
→ 350 tokens · Vary: Accept
→ 350 tokens · Vary: Accept
Critical gotchas
GitHub recommends an Accept: application/vnd.github+json header and an explicit X-GitHub-Api-Version header.
Fine-grained tokens only authorize repositories and permissions selected when the token is created.
cURL
curl -X PATCH 'https://api.github.com/orgs/example-org/teams/example-team-slug' \ -H "Authorization: Bearer $GITHUB_TOKEN" \ -H 'Accept: application/vnd.github+json' \ -H 'X-GitHub-Api-Version: 2026-03-10' \ -H 'Content-Type: application/json' \ -d '{}'
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| org | path | string | Yes | The organization name. The name is not case sensitive. |
| team_slug | path | string | Yes | The slug of the team name. |
| name | body | string | No | The name of the team. |
| description | body | string | No | The description of the team. |
| privacy | body | string | No | The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. When a team is nested, the `privacy` for parent teams cannot be `secret`. The options are: **For a non-nested team:** * `secret` - only visible to organization owners and members of this team. * `closed` - visible to all members of this organization. **For a parent or child team:** * `closed` - visible to all members of this organization. |
| notification_setting | body | string | No | The notification setting the team has chosen. Editing teams without specifying this parameter leaves `notification_setting` intact. The options are: * `notifications_enabled` - team members receive notifications when the team is @mentioned. * `notifications_disabled` - no one receives notifications. |
| permission | body | string | No | **Closing down notice**. The permission that new repositories will be added to the team with when none is specified. |
| parent_team_id | body | integer | No | The ID of a team to set as the parent team. |
| parent_team_slug | body | string | No | The slug of a team to set as the parent team. Ignored when `parent_team_id` is also provided. |
Response 200 OK
{
"id": 42,
"node_id": "MDQ6VGVhbTE=",
"url": "https://api.github.com/organizations/1/team/1",
"html_url": "https://github.com/orgs/rails/teams/core",
"name": "Developers",
"slug": "justice-league",
"description": "A great team.",
"privacy": "closed",
"notification_setting": "notifications_enabled",
"permission": "push",
"members_url": "https://api.github.com/organizations/1/team/1/members{/member}",
"repositories_url": "https://api.github.com/organizations/1/team/1/repos",
"parent": {
"id": 1,
"node_id": "MDQ6VGVhbTE=",
"url": "https://api.github.com/organizations/1/team/1",
"members_url": "https://api.github.com/organizations/1/team/1/members{/member}",
"name": "Justice League",
"description": "A great team.",
"permission": "admin",
"privacy": "closed",
"notification_setting": "notifications_enabled",
"html_url": "https://github.com/orgs/rails/teams/core",
"repositories_url": "https://api.github.com/organizations/1/team/1/repos",
"slug": "justice-league",
"ldap_dn": "uid=example,ou=users,dc=github,dc=com",
"type": "enterprise",
"organization_id": 37,
"enterprise_id": 42
},
"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": "[email protected]",
"twitter_username": "github",
"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",
"type": "Organization",
"total_private_repos": 100,
"owned_private_repos": 100,
"private_gists": 81,
"disk_usage": 10000,
"collaborators": 8,
"billing_email": "[email protected]",
"plan": {
"name": "string",
"space": 0,
"private_repos": 0,
"filled_seats": 0,
"seats": 0
},
"default_repository_permission": "string",
"members_can_create_repositories": true,
"two_factor_requirement_enabled": true,
"members_allowed_repository_creation_type": "all",
"members_can_create_public_repositories": true,
"members_can_create_private_repositories": true,
"members_can_create_internal_repositories": true,
"members_can_create_pages": true,
"members_can_create_public_pages": true,
"members_can_create_private_pages": true,
"members_can_fork_private_repositories": false,
"web_commit_signoff_required": false,
"updated_at": "2026-09-03T00:00:00Z",
"archived_at": "2026-09-03T00:00:00Z"
},
"ldap_dn": "cn=Enterprise Ops,ou=teams,dc=github,dc=com",
"type": "enterprise",
"organization_id": 37,
"enterprise_id": 42
} Get a free GitHub API key → sponsored Affiliate link - we may earn a commission, at no extra cost to you.