---
title: "Patch Team"
method: PATCH
path: "/team/{team_id}"
tags: ["team management"]
---

# Patch Team

`PATCH /team/{team_id}`

Partially update a team using RFC 7386 JSON Merge Patch semantics.

`team_id` is taken from the path; a `team_id` in the body is accepted only when it
matches. `metadata` is merged with the team's stored metadata rather than replacing
it: an omitted key is preserved, `key: null` deletes it, and any other value
overwrites (recursing into nested objects). Every other field behaves exactly like
`POST /team/update` (omitted preserves, a value overwrites). Returns the full
updated team.

```
curl --location --request PATCH 'http://0.0.0.0:4000/team/8d916b1c-510d-4894-a334-1c16a93344f5'     --header 'Authorization: Bearer sk-1234'     --header 'Content-Type: application/json'     --data-raw '{
    "metadata": {"cost_center": "1234", "deprecated_key": null}
}'
```

## Path parameters

- `team_id` string, required

## Headers

- `litellm-changed-by` string, nullable — The litellm-changed-by header enables tracking of actions performed by authorized users on behalf of other users, providing an audit trail for accountability

## Request body

- PatchTeamRequest — Body of PATCH /team/{team_id}. Identical to UpdateTeamRequest except team_id is optional, because PATCH takes it from the path. A team_id in the body is still accepted when it matches the path.
  - `team_id` string, nullable
  - `team_alias` string, nullable
  - `organization_id` string, nullable
  - `metadata` object, nullable
  - `tpm_limit` integer, nullable
  - `rpm_limit` integer, nullable
  - `max_budget` number, nullable
  - `soft_budget` number, nullable
  - `models` unknown[], nullable
    - unknown
  - `blocked` boolean, nullable
  - `budget_duration` string, nullable
  - `tags` unknown[], nullable
    - unknown
  - `model_aliases` object, nullable
  - `guardrails` string[], nullable
  - `policies` string[], nullable
  - `object_permission` LiteLLMObjectPermissionBase
    - `mcp_servers` string[], nullable
    - `mcp_access_groups` string[], nullable
    - `mcp_tool_permissions` object, nullable
    - `mcp_toolsets` string[], nullable
    - `blocked_tools` string[], nullable
    - `vector_stores` string[], nullable
    - `agents` string[], nullable
    - `agent_access_groups` string[], nullable
    - `models` string[], nullable
    - `search_tools` string[], nullable
    - `mcp_tool_search_enabled` boolean, nullable
  - `disable_global_guardrails` boolean, nullable
  - `team_member_budget` number, nullable
  - `team_member_budget_duration` string, nullable
  - `team_member_rpm_limit` integer, nullable
  - `team_member_tpm_limit` integer, nullable
  - `team_member_key_duration` string, nullable
  - `allowed_passthrough_routes` unknown[], nullable
    - unknown
  - `secret_manager_settings` object, nullable
  - `prompts` string[], nullable
  - `model_rpm_limit` object, nullable
  - `model_tpm_limit` object, nullable
  - `default_estimated_output_tokens` integer, nullable
  - `default_estimated_output_tokens_per_model` object, nullable
  - `mcp_rpm_limit` object, nullable
  - `allowed_vector_store_indexes` AllowedVectorStoreIndexItem[], nullable
    - `index_name` string, required
    - `index_permissions` string[], required
  - `enforced_batch_output_expires_after` object, nullable
  - `enforced_file_expires_after` object, nullable
  - `router_settings` object, nullable
  - `access_group_ids` string[], nullable
  - `budget_limits` BudgetLimitEntry[], nullable
    - `budget_duration` string, required
    - `max_budget` number, required
    - `reset_at` string, date-time, nullable
  - `default_team_member_models` string[], nullable

## Response `200`

Successful Response

- LiteLLMTeamTable
  - `team_alias` string, nullable
  - `team_id` string, required
  - `organization_id` string, nullable
  - `admins` string[]
  - `members` string[]
  - `members_with_roles` Member[]
    - `user_id` string, nullable — The unique ID of the user to add. Either user_id or user_email must be provided
    - `user_email` string, nullable — The email address of the user to add. Either user_id or user_email must be provided
    - `role` 'admin' | 'user', required — The role of the user within the team. 'admin' users can manage team settings and members, 'user' is a regular team member
  - `team_member_permissions` string[], nullable
  - `metadata` object, nullable
  - `tpm_limit` integer, nullable
  - `rpm_limit` integer, nullable
  - `max_budget` number, nullable
  - `soft_budget` number, nullable
  - `budget_duration` string, nullable
  - `budget_limits` BudgetLimitEntry[], nullable
    - `budget_duration` string, required
    - `max_budget` number, required
    - `reset_at` string, date-time, nullable
  - `models` string[]
  - `blocked` boolean
  - `router_settings` object, nullable
  - `access_group_ids` string[], nullable
  - `default_team_member_models` string[], nullable
  - `spend` number, nullable
  - `max_parallel_requests` integer, nullable
  - `budget_reset_at` string, date-time, nullable
  - `model_id` integer, nullable
  - `model_spend` object, nullable
  - `model_max_budget` object, nullable
  - `policies` string[], nullable
  - `allow_team_guardrail_config` boolean, nullable
  - `litellm_model_table` LiteLLMModelTable
    - `id` integer, nullable
    - `model_aliases` union
      - string
      - object
    - `created_by` string, required
    - `updated_by` string, required
    - `team` LiteLLMTeamTable — recursive
  - `object_permission` LiteLLMObjectPermissionTable — Represents a LiteLLM_ObjectPermissionTable record
    - `object_permission_id` string, required
    - `mcp_servers` string[], nullable
    - `mcp_access_groups` string[], nullable
    - `mcp_tool_permissions` object, nullable
    - `vector_stores` string[], nullable
    - `agents` string[], nullable
    - `agent_access_groups` string[], nullable
    - `models` string[], nullable
    - `mcp_toolsets` string[], nullable
    - `blocked_tools` string[], nullable
    - `search_tools` string[], nullable
    - `mcp_tool_search_enabled` boolean, nullable
  - `object_permission_id` string, nullable
  - `updated_at` string, date-time, nullable
  - `created_at` string, date-time, nullable

## Other responses

- `422` — Validation Error

## Changes

- **2026-09-18** `082b5fabd909` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/flock/apis/litellm-api/changes/team/:team_id/patch.md)

---

[API](https://skmtc.dev/flock/apis/litellm-api.md) · [All operations](https://skmtc.dev/flock/apis/litellm-api/llms.txt) · [OpenAPI document](https://skmtc.dev/flock/apis/litellm-api/revisions/b694deb1e459?raw)
