# 密钥管理

https://modelportal.ai/docs/api-keys?lang=zh

API 密钥决定谁可以调用、能调用哪些模型、最多花多少钱。每个账号最多同时有 50 把有效密钥（已撤销和已过期的不算），建议按应用或环境分开使用，出问题时只停用其中一把。

## 完整密钥只显示一次

- 完整密钥以 `mp-` 开头（早期创建的以 `key_` 开头，照常可用），只在创建成功的弹窗里显示一次，请当场复制保存。
- 弹窗关闭后，密钥页和接口都只显示末 4 位，平台只保存密钥的哈希，管理员也拿不到完整密钥。
- 遗失了就撤销这把，再新建一把。

## 暂停与撤销

| 操作 | 效果 |
| --- | --- |
| 暂停 / 恢复 | 暂停后该密钥的新请求全部被拒绝，恢复后立即可用 |
| 撤销 | 永久停用，不能恢复 |

暂停或过期的密钥返回 `key_inactive`，撤销和写错的密钥返回 `invalid_api_key`，都是 HTTP 401。密钥只在请求开始时校验，已经在进行中的调用会正常完成并计费。

## 给密钥加限制

创建或编辑密钥时，可以为每把密钥单独设置：

- **可用模型**：只允许调用列出的模型，留空表示全部模型。调用列表外的模型返回 `key_restricted`（HTTP 403）。
- **每日 / 每月消费上限**：按实例币种设置。平台在调用前按预估费用判断，单次调用可能让实际花费略超上限，之后的调用会被拒绝，返回 `budget_exceeded`（HTTP 402）。日与月按 UTC 切换，北京时间每天 8 点进入新的一天。
- **IP 白名单**：填写单个 IP 或 CIDR 网段，名单外的来源返回 `key_restricted`（HTTP 403）。
- **过期时间**：到期后自动失效。

## 安全建议

- 密钥只放在服务端环境变量或密钥管理系统里，不要写进前端代码、移动端安装包或公开仓库。
- 请求时只放在请求头（`Authorization: Bearer` 或 Anthropic 的 `x-api-key`），URL 参数里的密钥一律拒绝。
- 怀疑泄露时先撤销，再新建一把，然后检查[用量](/docs/usage)里对应密钥的调用记录。

## 常见问题

### 密钥忘记保存了怎么办？

完整密钥只在创建时显示一次，平台只保存哈希，之后谁都看不到。撤销这把密钥，再新建一把即可。

### 密钥最多能建多少把？

每个账号最多同时有 50 把有效密钥，已撤销和已过期的不算。确实需要更多时请联系客服调高。

### 暂停密钥会中断正在进行的请求吗？

不会。密钥只在请求开始时校验，进行中的请求会正常完成并计费，暂停后新的请求才会被拒绝。

### 消费上限为什么被略微超出？

上限按调用前的预估费用判断，单次调用的实际费用可能让总额略超上限，之后的调用会被拒绝。

