1. 概覽
管理 API 金鑰適用於以下情境:- 為不同的客戶、專案或環境發行各自獨立的模型 API 金鑰
- 對下游的模型 API 金鑰套用使用限制與自動重置週期
- 以程式化方式輪換、停用或撤銷金鑰
- 在 SaaS、多租戶與注重合規的工作流程中,強制實施最小權限的金鑰管理
- 對金鑰管理操作進行嚴格的權限隔離
- 模型 API 金鑰的完整生命週期自動化
- 可設定的使用限制與重置週期
- 專為伺服器端服務、內部工具與自動化佈建工作流程設計
2. API 介面與驗證邊界
金鑰管理分為兩個 API 介面,各自擁有獨立的驗證模式:| API 介面 | 用途 | 驗證方式 |
|---|---|---|
/v1/management-keys | 管理「管理 API 金鑰」 | JWT |
/api/v1/model-router/keys | 使用「管理 API 金鑰」來管理「模型 API 金鑰」 | Authorization: Bearer <management_key> |
管理 API 金鑰僅可用於/api/v1/model-router/keys管理 API 金鑰無法用於/v1/management-keys/v1/management-keys僅支援JWT驗證- 完整的金鑰密鑰僅在建立時回傳一次,之後無法再次取得
3. 基本規則
- 每個帳戶最多可建立
10個管理 API 金鑰 - 管理 API 金鑰建立後即立即啟用
- 完整的管理 API 金鑰密鑰僅回傳一次
- 後續的列表與詳細資料回應僅會回傳遮蔽後的金鑰值
- 模型 API 金鑰目前採用軟刪除而非永久刪除
4. 基礎網址
公開 API 的基礎網址為:5. 建立管理 API 金鑰
在使用管理 API 之前,請先在 DGrid 控制台中建立一個管理 API 金鑰:若您在自己的介面中提供此流程,請明確告知使用者該密鑰僅顯示一次,應立即儲存。
6. 身分驗證
本文件涵蓋兩種驗證模式:/v1/management-keys下的端點需要JWT/api/v1/model-router/keys下的端點需要管理 API 金鑰
/api/v1/model-router/keys 端點時請使用以下標頭:
7. 管理 API 金鑰生命週期端點
以下端點用於建立、檢視、更新、啟用、停用與刪除管理 API 金鑰。所有端點皆需要JWT 驗證。
| 操作 | 方法 | 路徑 | 備註 |
|---|---|---|---|
| 建立管理金鑰 | POST | /v1/management-keys | 完整金鑰僅回傳一次 |
| 列出管理金鑰 | GET | /v1/management-keys | 支援分頁 |
| 更新管理金鑰 | PUT | /v1/management-keys/{id} | 目前僅可更新 name |
| 刪除管理金鑰 | DELETE | /v1/management-keys/{id} | 軟刪除 |
| 啟用管理金鑰 | POST | /v1/management-keys/{id}/enablement | 立即生效 |
| 停用管理金鑰 | POST | /v1/management-keys/{id}/disablement | 立即生效 |
key僅在建立時回傳一次keyPreview為遮蔽後的顯示值
8. 使用管理 API 金鑰管理模型 API 金鑰
本節中的所有端點皆使用:8.1 請求欄位
目前實作支援在建立或更新模型 API 金鑰時使用以下欄位:| 欄位 | 類型 | 是否必填 | 說明 |
|---|---|---|---|
name | string | 建立時必填 | 金鑰名稱 |
limit | number | 否 | 使用限制 |
cycle | daily | weekly | monthly | 否 | 限制的重置週期 |
expiredAt | string | 否 | UTC 時間格式的到期時間戳 |
groupId | string | 否 | 群組 ID |
- 若您熟悉 OpenRouter 的
limit_reset,在目前 DGrid 實作中最接近的等效欄位是cycle expiredAt應使用 ISO 8601 UTC 時間戳格式,例如2026-12-31T23:59:59Z
8.2 列出金鑰
- 方法:
GET - 路徑:
/api/v1/model-router/keys - 查詢參數:
page:頁碼,預設為1size:每頁數量,預設為20,最大為100
- 分頁使用
page與size,而非limit與offset - 目前不支援名稱的部分匹配搜尋
- 目前不支援
disabled篩選
key:遮蔽後的 API 金鑰值usageInCycle:本週期內的使用量usageInTotal:累計使用量enabled:目前的啟用狀態groupName:群組名稱
8.3 建立模型 API 金鑰
- 方法:
POST - 路徑:
/api/v1/model-router/keys
key是完整的 API 金鑰值,僅回傳一次- 請立即將其儲存在安全的密鑰管理系統中
8.4 取得金鑰詳細資料
- 方法:
GET - 路徑:
/api/v1/model-router/keys/{id}
- 目前實作使用
id(UUID),而非key_hash
8.5 更新模型 API 金鑰
- 方法:
PUT - 路徑:
/api/v1/model-router/keys/{id}
namelimitcyclegroupId
- 目前的更新方法為
PUT,而非PATCH
8.6 停用模型 API 金鑰
- 方法:
POST - 路徑:
/api/v1/model-router/keys/{id}/disablement
8.7 啟用模型 API 金鑰
- 方法:
POST - 路徑:
/api/v1/model-router/keys/{id}/enablement
8.8 刪除模型 API 金鑰
- 方法:
DELETE - 路徑:
/api/v1/model-router/keys/{id}
- 目前的刪除為軟刪除,而非實體刪除
9. 範例用法
10. HTTP 狀態碼與錯誤碼
| HTTP 狀態碼 | 錯誤碼 | 說明 |
|---|---|---|
400 | 40001 | 無效的請求參數 |
401 | 40101 | 請求標頭中缺少管理 API 金鑰 |
401 | 40102 | 管理 API 金鑰無效、已過期或已停用 |
403 | 40301 | 權限不足,或此端點的金鑰類型無效 |
404 | 40401 | 找不到目標金鑰,或該金鑰不屬於目前帳戶 |
429 | 42901 | 超過速率限制 |
500 | 50001 | 伺服器內部錯誤 |
11. 標準回應格式
成功的回應使用以下格式:- 成功的請求會回傳 HTTP
200 - 建立操作的回應可能在
data中包含完整的密鑰 - 列表與詳細資料端點通常回傳遮蔽後的金鑰值
- 管理 API 金鑰與模型 API 金鑰的完整密鑰皆僅回傳一次

