---
title: "Create Team"
method: POST
path: "/v1/teams"
tags: ["Teams"]
---

# Create Team

`POST /v1/teams`

Creates a new team for the authenticated user, populated with the given team members. Hidden teams cannot be created via the REST API.

Whether the requesting user is automatically added to the team depends on the permission type. With user permissions, the user is automatically added to the team. With admin permissions, the user is not automatically added.

## Headers

- `Lucid-Request-As` string

## Request body

- CreateTeamBody
  - `name` string, required — The team's name. Max length of name is 80 characters.
  - `type` 'hidden' | 'closed' | 'open', required — The type of the team
  - `users` integer[], required — Array of IDs of users to be on the team.

## Response `201`

Created. Returns a Team resource containing information about the created team. If requesting as admin, the user making the request will not have been automatically included as a user on the team.

- Team — A standard representation of a team.
  - `id` number — The unique ID for the team.
  - `name` string — The team's name.
  - `type` 'hidden' | 'closed' | 'open' — The type of the team
  - `created` string, date-time — Date and time when the team was created.
  - `archived` string, date-time, nullable — Date and time when the team was archived (if it has been archived).

## Other responses

- `400` — Bad Request. Occurs if the name in the request body is empty or exceeds the maximum allowed length.
- `403` — Forbidden. Occurs if the user making the request does not have permission to create teams.
- `409` — Conflict. Occurs if a team already exists with an identical name.

---

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