apicheats.dev github/llms.txt Raw .md
POST

POST /orgs/{org}/teams — GitHub API

GitHub token (required); https://api.github.com

GitHub API

Create 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
→ 359 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 POST 'https://api.github.com/orgs/example-org/teams' \  -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 '{  "name": "example-name"}'

Parameters

Name In Type Required Description
org path string Yes The organization name. The name is not case sensitive.
name body string Yes The name of the team.
description body string No The description of the team.
maintainers body string[] No List GitHub usernames for organization members who will become team maintainers.
repo_names body string[] No The full name (e.g., "organization-name/repository-name") of repositories to add the team to.
privacy body string No The level of privacy this team should have. 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. Default: `secret` **For a parent or child team:** * `closed` - visible to all members of this organization. Default for child team: `closed`
notification_setting body string No The notification setting the team has chosen. The options are: * `notifications_enabled` - team members receive notifications when the team is @mentioned. * `notifications_disabled` - no one receives notifications. Default: `notifications_enabled`
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.