# Update Key

> Update an existing API key on a live LiteLLM proxy. Ask for the key and what to change (budget, models, expiry), then call POST /key/update.

- Skill: `berriai/update-key` (Agent Skill)
- Install (CLI): `npx skillmds@latest add berriai/update-key`
- Raw SKILL.md: https://api.skillmd.com/api/skills/berriai/update-key/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Finance & Business
- License: MIT
- Author: BerriAI (https://skillmd.com/u/berriai)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/berriai/update-key

---


# Update Key

Update an existing API key on a live LiteLLM proxy.

## Setup

```
LITELLM_BASE_URL  — e.g. https://my-proxy.example.com
LITELLM_API_KEY   — proxy admin key
```

API reference: https://litellm.vercel.app/docs/proxy/virtual_keys

## Ask the user

1. **Key** (required) — the `sk-...` value. If they don't have it, list keys:
   ```bash
   curl -s "$BASE/key/list?size=25&return_full_object=true" -H "Authorization: Bearer $KEY"
   ```
2. **What to change** — any combination of:
   - `max_budget` (float)
   - `models` (list)
   - `key_alias` (string)
   - `tpm_limit` / `rpm_limit` (int)
   - `duration` (e.g. `30d` — extends expiry from now)
   - `team_id` / `user_id` (reassign ownership)

## Run

```bash
curl -s -X POST "$BASE/key/update" \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "key": "<sk-...>",
    "max_budget": <value>,
    "models": [<models>],
    "duration": "<duration>"
  }'
```

Only include the fields being changed.

## Output

Show the updated `key_alias`, `max_budget`, `models`, `expires`.

