---
title: "Create a team"
method: POST
path: "/orgs/{org}/teams"
tags: ["organization"]
---

# Create a team

`POST /orgs/{org}/teams`

## Path parameters

- `org` string, required

## Request body

- CreateTeamOption — CreateTeamOption options for creating a team
  - `can_create_org_repo` boolean — Whether the team can create repositories in the organization
  - `description` string — The description of the team
  - `includes_all_repositories` boolean — Whether the team has access to all repositories in the organization
  - `name` string, required
  - `permission` 'read' | 'write' | 'admin'
  - `units` string[] — Deprecated: This variable should be replaced by UnitsMap and will be dropped in later versions.
  - `units_map` object
  - `visibility` 'public' | 'limited' | 'private' — Team visibility within the organization. Defaults to "private".

## Response `201`

Team

- Team — Team represents a team in an organization
  - `can_create_org_repo` boolean — Whether the team can create repositories in the organization
  - `description` string — The description of the team
  - `id` integer — The unique identifier of the team
  - `includes_all_repositories` boolean — Whether the team has access to all repositories in the organization
  - `name` string — The name of the team
  - `organization` Organization — Organization represents an organization
    - `avatar_url` string — The URL of the organization's avatar
    - `description` string — The description of the organization
    - `email` string — The email address of the organization
    - `full_name` string — The full display name of the organization
    - `id` integer — The unique identifier of the organization
    - `location` string — The location of the organization
    - `name` string — The name of the organization
    - `repo_admin_change_team_access` boolean — Whether repository administrators can change team access
    - `username` string — username of the organization deprecated
    - `visibility` 'public' | 'limited' | 'private' — The visibility level of the organization (public, limited, private)
    - `website` string — The website URL of the organization
  - `permission` 'none' | 'read' | 'write' | 'admin' | 'owner'
  - `units` string[] — Deprecated: This variable should be replaced by UnitsMap and will be dropped in later versions.
  - `units_map` object
  - `visibility` 'public' | 'limited' | 'private' — Team visibility within the organization. "private" teams are only listable by members and org owners; "limited" teams are listable by any organization member; "public" teams are listable by any signed-in user.

## Other responses

- `404` — APINotFound is a not found empty response
- `422` — APIValidationError is error format response related to input validation

---

[API](https://skmtc.net/gitea/apis/gitea-api.md) · [All operations](https://skmtc.net/gitea/apis/gitea-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/gitea/gitea-api/versions/350de506cefa/schema)
