Provisioning Keys
provisioning key 讓你的後端能夠以程式化方式建立和管理 推論 API 金鑰 ——無需任何人登入 Console。非常適合為每個終端使用者、每台裝置或每個 CI 任務簽發一個金鑰的 SaaS 產品。
provisioning key 可以建立、修改和刪除其 workspace 中的 任意 推論金鑰。請將其視為 admin 憑證:僅在伺服器端儲存,絕不要分發到瀏覽器或行動用戶端。
運作原理
- owner 或 admin 在以下位置建立 provisioning key: Console → Provisioning Keys. 它帶有前綴
sk-syn-prov-. - 你的後端呼叫
/api/provisioning/*端點,使用該金鑰建立推論金鑰(前綴sk-syn-). - 每個推論金鑰的作用範圍限定於同一個 workspace,並可附帶 USD 消費上限和不透明的
metadata標籤。 - 將推論金鑰交付給你的使用者。可隨時單獨撤銷其中任意一個——刪除 provisioning key 不會 影響它已經建立的推論金鑰。
provisioning key 本身只能在 Console 中建立——沒有用於產生 provisioning key 的 API。開啟 Console → Provisioning Keys (僅限 owner / admin)。
驗證
將 provisioning key 作為 Bearer token 傳遞。它適用於 僅 於 /api/provisioning/* ——provisioning key 無法發起推理呼叫,一般的 inference key 也無法呼叫這些管理端點(兩種情況都會返回 401 wrong_key_kind).
Authorization: Bearer sk-syn-prov-... 建立推論金鑰
POST /api/provisioning/keys
| 參數 | 類型 | 說明 |
|---|---|---|
name | string | 金鑰的可讀標籤(例如 "Device abc-123")。 |
quota | number | 以 USD 計的消費上限。省略或設為 0 表示無限制。 |
allowed_models | string | 以逗號分隔的模型允許清單(例如 "claude-haiku-4-5")。留空 = 該 workspace 可存取的所有模型。 |
ip_whitelist | string | 以逗號分隔的 IP / CIDR 允許清單,適用於使用此金鑰發起的請求。留空 = 無限制。 |
expires_at | string | 選用的 RFC3339 到期時間戳記。省略則不到期。 |
include_byok_in_limit | boolean | 若為 true,BYOK 呼叫將按上游標價計入此金鑰的配額。預設為 false。 |
metadata | object | 你自訂的不透明 JSON 標籤(例如 {"tenant_id":"acme"})。原樣儲存,最大 8KB。僅用於列出 / 篩選——絕不影響鑑權。 |
curl https://synthorai.io/api/provisioning/keys \
-H "Authorization: Bearer sk-syn-prov-..." \
-H "Content-Type: application/json" \
-d '{
"name": "Device abc-123",
"quota": 5.0,
"allowed_models": "claude-haiku-4-5",
"metadata": { "tenant_id": "acme", "device_id": "abc-123" }
}'import requests
resp = requests.post(
"https://synthorai.io/api/provisioning/keys",
headers={"Authorization": "Bearer sk-syn-prov-..."},
json={
"name": "Device abc-123",
"quota": 5.0,
"allowed_models": "claude-haiku-4-5",
"metadata": {"tenant_id": "acme", "device_id": "abc-123"},
},
)
inference_key = resp.json()["key"] # full key — shown only once回應會在以下欄位中傳回完整的金鑰: key 欄位 僅一次. 請立即儲存——之後無法再次取得。
{
"id": 42,
"key": "sk-syn-d4f0...e91b",
"key_prefix": "sk-syn-d4f0...",
"name": "Device abc-123",
"kind": "inference",
"created_via": "provisioning_api",
"parent_provisioning_id": 7,
"workspace_id": 11,
"quota_usd": 5.0,
"unlimited_quota": false,
"allowed_models": "claude-haiku-4-5",
"metadata": { "tenant_id": "acme", "device_id": "abc-123" },
"created_at": "2026-06-01T12:00:00Z"
} 列出推論金鑰
GET /api/provisioning/keys
列出該 workspace 中的每一個推論金鑰。可按任意 metadata 欄位進行篩選: ?metadata.<key>=<value>;多個篩選條件以 AND 組合。
# all keys
curl https://synthorai.io/api/provisioning/keys \
-H "Authorization: Bearer sk-syn-prov-..."
# only keys tagged tenant_id=acme
curl "https://synthorai.io/api/provisioning/keys?metadata.tenant_id=acme" \
-H "Authorization: Bearer sk-syn-prov-..." 取得、更新與刪除
透過其數字型的 id:
- GET
/api/provisioning/keys/{id}——取得單個金鑰。 - PATCH
/api/provisioning/keys/{id}——更新name,quota,status,allowed_models,ip_whitelist,expires_at,include_byok_in_limit, 或metadata. 其中kind和血緣欄位無法變更。 - DELETE
/api/provisioning/keys/{id}——撤銷金鑰。立即生效。
# disable a key (status 2 = disabled)
curl -X PATCH https://synthorai.io/api/provisioning/keys/42 \
-H "Authorization: Bearer sk-syn-prov-..." \
-H "Content-Type: application/json" \
-d '{ "status": 2 }'
# delete a key
curl -X DELETE https://synthorai.io/api/provisioning/keys/42 \
-H "Authorization: Bearer sk-syn-prov-..." 配額與消費控制
quota 是每個推論金鑰的 USD 上限。用量在每次請求後計量,因此在高並行下,金鑰在短暫的結算視窗內可能略微超出其上限——對高價值模型設定上限時請預留少量緩衝。可從以下位置讀取金鑰的目前消費 used_usd 中讀取,它出現在列出 / 取得回應裡。
在建立時為金鑰打上 metadata (租戶、裝置、環境),以便日後能按篩選條件列出、稽核和批次撤銷它們。以這種方式建立的金鑰也會出現在 Console → API Keys 並帶有 Programmatic 來源徽章及其標籤。
為每個金鑰設定美元上限?LLM API cost calculator 能把客戶的預期 token 用量換算成每月支出金額,你可以把它設為 quota。