> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tokenlab.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# Cập Nhật API key

> Cập nhật một API key người dùng hiện có cho tổ chức hiện tại.

## Tổng Quan

Dùng endpoint này để cập nhật tên, giới hạn sử dụng, model được phép, thời hạn hết hạn hoặc trạng thái của một API key người dùng hiện có.

## Thân Yêu Cầu

Phải cung cấp ít nhất một trường.

| Trường          | Kiểu           | Mặc định / Giới hạn                   | Ghi chú                                                                                                                              |
| --------------- | -------------- | ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| `status`        | enum           | -                                     | `active`, `inactive`, `revoked`                                                                                                      |
| `name`          | string         | độ dài `1-50`                         | Tên hiển thị đã cập nhật                                                                                                             |
| `limitAmount`   | number \| null | tối thiểu `0`, input tối đa `1000000` | `null` = không giới hạn, `0` = quota bằng 0. Giá trị dương được chuẩn hoá thành trần lưu trữ không vượt quá tương đương `100000` USD |
| `limitCurrency` | enum           | default `USD`                         | Chỉ hỗ trợ USD. Gửi `CNY` sẽ trả về `400 currency_retired`.                                                                          |
| `models`        | string\[]      | -                                     | Danh sách cho phép model đã cập nhật                                                                                                 |
| `expiresAt`     | string \| null | datetime RFC3339                      | `null` sẽ xoá thời hạn hết hạn                                                                                                       |

## Ghi Chú

* Hard delete không được hỗ trợ trong Management API v1.
* `revoked` là trạng thái kết thúc đối với thao tác vận hành thông thường; hãy tạo key mới thay vì mong đợi có luồng khôi phục sau này.

## Ví Dụ

<RequestExample>
  ```bash cURL theme={null}
  curl -X PATCH "https://api.tokenlab.sh/v1/management/api-keys/key_abc123def456" \
    -H "Authorization: Bearer mt-your-management-token" \
    -H "Content-Type: application/json" \
    -d '{
      "status": "inactive",
      "limitAmount": 0
    }'
  ```
</RequestExample>

## Yêu Cầu / Phản Hồi

Sử dụng bảng OpenAPI tương tác ở trên để xem schema và các trường response chính xác.

## Response example

<ResponseExample>
  ```json 200 OK theme={null}
  {
    "id": "key_abc123def456",
    "name": "Backend Worker",
    "key_prefix": "sk-live...",
    "status": "inactive",
    "limit_amount": 0,
    "limit_amount_decimal": "0",
    "used_amount": 148.25,
    "used_amount_decimal": "148.25",
    "models": [
      "gpt-5-mini",
      "claude-3-7-sonnet"
    ],
    "expires_at": "2026-12-31T23:59:59.000Z",
    "last_used_at": "2026-07-08T03:12:45.000Z",
    "created_at": "2026-07-01T10:00:00.000Z"
  }
  ```
</ResponseExample>

## Important fields

<ResponseField name="id" type="string">API key identifier used in follow-up Management API calls.</ResponseField>
<ResponseField name="name" type="string">Display name for the API key.</ResponseField>
<ResponseField name="key_prefix" type="string">Non-secret key prefix for display and support.</ResponseField>
<ResponseField name="status" type="string">One of `active`, `inactive`, or `revoked`.</ResponseField>
<ResponseField name="limit_amount" type="number | null">Spending cap in USD as a JSON number for display. `null` means unlimited.</ResponseField>
<ResponseField name="limit_amount_decimal" type="string | null">Exact spending cap in USD as a decimal string. `null` means unlimited.</ResponseField>
<ResponseField name="used_amount" type="number">Accumulated usage in USD as a JSON number for display.</ResponseField>
<ResponseField name="used_amount_decimal" type="string">Exact accumulated usage in USD as a decimal string.</ResponseField>
<ResponseField name="models" type="string[]">Per-key model allowlist. Empty array means no additional key-level model restriction.</ResponseField>
<ResponseField name="expires_at" type="string | null">ISO timestamp when the key expires, or `null` for no expiry.</ResponseField>
<ResponseField name="last_used_at" type="string | null">ISO timestamp for the most recent use, or `null` when unused.</ResponseField>
<ResponseField name="created_at" type="string">ISO creation timestamp.</ResponseField>
