---
title: "Update team"
method: PATCH
path: "/console/v1/users/teams/{id}"
tags: ["Users"]
---

# Update team

`PATCH /console/v1/users/teams/{id}`

Replace the team definition. Use GET to fetch current data if you intend to add fields without overwriting existing values.

## Path parameters

- `id` string, required

## Request body

- TeamPartialUpdateDto
  - `name` string — The name of the team.
  - `description` string — Description of the team.
  - `id` string — The ID of the team.
  - `members` string[] — Array of member email addresses in the team.
  - `admins` string[] — Array of admin email addresses in the team.
  - `defaultGateMetrics` object[] — Default gate metrics for the team.
    - `name` string, required — The name of the metric.
    - `type` string, required — The type of the metric.
  - `defaultExperimentPrimaryMetrics` object[] — Default primary metrics for experiments in the team.
    - `name` string, required — The name of the metric.
    - `type` string, required — The type of the metric.
  - `defaultExperimentSecondaryMetrics` object[] — Default secondary metrics for experiments in the team.
    - `name` string, required — The name of the metric.
    - `type` string, required — The type of the metric.
  - `defaultHoldoutMetrics` object[] — Default holdout metrics for the team.
    - `name` string, required — The name of the metric.
    - `type` string, required — The type of the metric.
  - `changeTeamConfigs` 'anyone' | 'team_only' — Who can change team configurations: "anyone" or "team_only".
  - `reviewApproval` 'anyone' | 'team_only' | 'admin_only' — Who can review and approve changes: "anyone", "team_only", or "admin_only".
  - `defaultTargetApplications` string[] — Default target applications for the team.
  - `defaultHoldoutID` string, nullable — Default holdout ID for the team, if applicable.
  - `requireReviews` boolean, nullable — Whether reviews are required for changes, if applicable.
  - `requireGateTemplates` boolean, nullable — Whether gate templates are required for the team, if applicable.
  - `requireExperimentTemplates` boolean, nullable — Whether experiment templates are required for the team, if applicable.
  - `requireDynamicConfigTemplates` boolean, nullable — Whether dynamic config templates are required for the team, if applicable.

## Response `200`

Update team response

- object
  - `message` string, required — A simple string explaining the result of the operation.
  - `data` object, required — A single result.
    - `name` string, required — The name of the team.
    - `description` string — Description of the team.
    - `id` string, required — The ID of the team.
    - `defaultGateMetrics` object[], required — Default gate metrics for the team.
      - `name` string, required — The name of the metric.
      - `type` string, required — The type of the metric.
    - `defaultExperimentPrimaryMetrics` object[], required — Default primary metrics for experiments in the team.
      - `name` string, required — The name of the metric.
      - `type` string, required — The type of the metric.
    - `defaultExperimentSecondaryMetrics` object[], required — Default secondary metrics for experiments in the team.
      - `name` string, required — The name of the metric.
      - `type` string, required — The type of the metric.
    - `defaultHoldoutMetrics` object[], required — Default holdout metrics for the team.
      - `name` string, required — The name of the metric.
      - `type` string, required — The type of the metric.
    - `changeTeamConfigs` 'anyone' | 'team_only', required — Who can change team configurations: "anyone" or "team_only".
    - `reviewApproval` 'anyone' | 'team_only' | 'admin_only', required — Who can review and approve changes: "anyone", "team_only", or "admin_only".
    - `defaultTargetApplications` string[], required — Default target applications for the team.
    - `defaultHoldoutID` string, nullable — Default holdout ID for the team, if applicable.
    - `requireReviews` boolean, nullable — Whether reviews are required for changes, if applicable.
    - `requireGateTemplates` boolean, nullable — Whether gate templates are required for the team, if applicable.
    - `requireExperimentTemplates` boolean, nullable — Whether experiment templates are required for the team, if applicable.
    - `requireDynamicConfigTemplates` boolean, nullable — Whether dynamic config templates are required for the team, if applicable.
    - `members` object[], required
      - `userID` string, required — The user's unique ID.
      - `email` string, email, required — The email address of the user.
      - `firstName` string, required — The user's first name.
      - `lastName` string, required — The user's last name.
      - `role` string, required — The user's role, which can be 'Admin', 'Read Only', 'Member', or any custom role name.
    - `admins` object[], required
      - `userID` string, required — The user's unique ID.
      - `email` string, email, required — The email address of the user.
      - `firstName` string, required — The user's first name.
      - `lastName` string, required — The user's last name.
      - `role` string, required — The user's role, which can be 'Admin', 'Read Only', 'Member', or any custom role name.

## Other responses

- `400` — Invalid request. Please check the request input and try again.
- `401` — This endpoint only accepts an active CONSOLE key, but an invalid key was sent. Key: console-xxxXXXxxxXXXxxx

---

[API](https://skmtc.net/statsig/apis/console-api.md) · [All operations](https://skmtc.net/statsig/apis/console-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/statsig/console-api/revisions/3189f450c93b/schema)
