---
title: "Bulk Update Team Keys"
method: POST
path: "/team/key/bulk_update"
tags: ["key management"]
---

# Bulk Update Team Keys

`POST /team/key/bulk_update`

Apply one update payload to many keys inside a single team.

Pass `team_id` plus either `key_ids` or `all_keys_in_team=True`. The
`update_fields` payload is broadcast to every selected key. Per-key
failures are returned in `failed_updates` rather than aborting the batch.

Callable by proxy admins, or by team admins with `KEY_UPDATE` permission.

## 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

- BulkUpdateTeamKeysRequest — Apply one update payload to many keys inside a team; provide either `key_ids` or `all_keys_in_team=True`.
  - `team_id` string, required
  - `key_ids` string[], nullable
  - `all_keys_in_team` boolean
  - `update_fields` KeyUpdateFields, required — Allowlist of bulk-broadcastable fields for /team/key/bulk_update; `extra="forbid"` blocks RBAC/ownership/scope mutations even by team admins.
    - `max_budget` number, nullable
    - `budget_id` string, nullable
    - `budget_duration` string, nullable
    - `budget_limits` unknown[], nullable
      - unknown
    - `model_max_budget` object, nullable
    - `tpm_limit` integer, nullable
    - `rpm_limit` integer, nullable
    - `model_tpm_limit` object, nullable
    - `model_rpm_limit` object, nullable
    - `max_parallel_requests` integer, nullable
    - `rpm_limit_type` 'guaranteed_throughput' | 'best_effort_throughput' | 'dynamic', nullable
    - `tpm_limit_type` 'guaranteed_throughput' | 'best_effort_throughput' | 'dynamic', nullable
    - `temp_budget_increase` number, nullable
    - `temp_budget_expiry` string, date-time, nullable
    - `duration` string, nullable
    - `tags` string[], nullable
    - `metadata` object, nullable

## Response `200`

Successful Response

- BulkUpdateKeyResponse — Response for bulk key update operations
  - `total_requested` integer, required
  - `successful_updates` SuccessfulKeyUpdate[], required
    - `key` string, required
    - `key_info` object, required
  - `failed_updates` FailedKeyUpdate[], required
    - `key` string, required
    - `key_info` object, nullable
    - `failed_reason` string, required

## 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/key/bulk_update/post.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/731afbea6a1b?raw)
