curl -X PATCH https://api.arouter.ai/api/v1/keys/KEY_HASH \
-H "Authorization: Bearer lr_mgmt_xxxx" \
-H "Content-Type: application/json" \
-d '{
"name": "production-backend-v2",
"limit": 200,
"limit_reset": "monthly",
"allowed_providers": ["openai", "anthropic", "google"],
"allowed_models": ["openai/gpt-5.4", "anthropic/claude-sonnet-4.6", "google/gemini-2.5-flash"]
}'
import requests
resp = requests.patch(
"https://api.arouter.ai/api/v1/keys/KEY_HASH",
headers={"Authorization": "Bearer lr_mgmt_xxxx"},
json={
"name": "production-backend-v2",
"limit": 200,
"limit_reset": "monthly",
"allowed_providers": ["openai", "anthropic", "google"],
},
)
print(resp.json())
updated, err := client.UpdateKey(ctx, "KEY_HASH", &arouter.UpdateKeyRequest{
Name: stringPtr("production-backend-v2"),
Limit: float64Ptr(200),
LimitReset: stringPtr("monthly"),
AllowedProviders: []string{"openai", "anthropic", "google"},
})
const updated = await router.updateKey("KEY_HASH", {
name: "production-backend-v2",
limit: 200,
limit_reset: "monthly",
allowed_providers: ["openai", "anthropic", "google"],
});
console.log(updated.data.name); // "production-backend-v2"
密钥管理
更新 API Key
更新现有 API key 的名称、状态、消费限额或访问限制。需要管理 key。
PATCH
/
api
/
v1
/
keys
/
{hash}
curl -X PATCH https://api.arouter.ai/api/v1/keys/KEY_HASH \
-H "Authorization: Bearer lr_mgmt_xxxx" \
-H "Content-Type: application/json" \
-d '{
"name": "production-backend-v2",
"limit": 200,
"limit_reset": "monthly",
"allowed_providers": ["openai", "anthropic", "google"],
"allowed_models": ["openai/gpt-5.4", "anthropic/claude-sonnet-4.6", "google/gemini-2.5-flash"]
}'
import requests
resp = requests.patch(
"https://api.arouter.ai/api/v1/keys/KEY_HASH",
headers={"Authorization": "Bearer lr_mgmt_xxxx"},
json={
"name": "production-backend-v2",
"limit": 200,
"limit_reset": "monthly",
"allowed_providers": ["openai", "anthropic", "google"],
},
)
print(resp.json())
updated, err := client.UpdateKey(ctx, "KEY_HASH", &arouter.UpdateKeyRequest{
Name: stringPtr("production-backend-v2"),
Limit: float64Ptr(200),
LimitReset: stringPtr("monthly"),
AllowedProviders: []string{"openai", "anthropic", "google"},
})
const updated = await router.updateKey("KEY_HASH", {
name: "production-backend-v2",
limit: 200,
limit_reset: "monthly",
allowed_providers: ["openai", "anthropic", "google"],
});
console.log(updated.data.name); // "production-backend-v2"
curl -X PATCH https://api.arouter.ai/api/v1/keys/KEY_HASH \
-H "Authorization: Bearer lr_mgmt_xxxx" \
-H "Content-Type: application/json" \
-d '{
"name": "production-backend-v2",
"limit": 200,
"limit_reset": "monthly",
"allowed_providers": ["openai", "anthropic", "google"],
"allowed_models": ["openai/gpt-5.4", "anthropic/claude-sonnet-4.6", "google/gemini-2.5-flash"]
}'
import requests
resp = requests.patch(
"https://api.arouter.ai/api/v1/keys/KEY_HASH",
headers={"Authorization": "Bearer lr_mgmt_xxxx"},
json={
"name": "production-backend-v2",
"limit": 200,
"limit_reset": "monthly",
"allowed_providers": ["openai", "anthropic", "google"],
},
)
print(resp.json())
updated, err := client.UpdateKey(ctx, "KEY_HASH", &arouter.UpdateKeyRequest{
Name: stringPtr("production-backend-v2"),
Limit: float64Ptr(200),
LimitReset: stringPtr("monthly"),
AllowedProviders: []string{"openai", "anthropic", "google"},
})
const updated = await router.updateKey("KEY_HASH", {
name: "production-backend-v2",
limit: 200,
limit_reset: "monthly",
allowed_providers: ["openai", "anthropic", "google"],
});
console.log(updated.data.name); // "production-backend-v2"
禁用 / 启用 Key
curl -X PATCH https://api.arouter.ai/api/v1/keys/KEY_HASH \
-H "Authorization: Bearer lr_mgmt_xxxx" \
-H "Content-Type: application/json" \
-d '{"disabled": true}'
disabled: false 可重新启用。
更新消费限额
curl -X PATCH https://api.arouter.ai/api/v1/keys/KEY_HASH \
-H "Authorization: Bearer lr_mgmt_xxxx" \
-H "Content-Type: application/json" \
-d '{
"limit": 500,
"limit_reset": "monthly"
}'
limit 设置为 null 可移除消费上限。limit_reset 字段控制计数器何时重置:daily(UTC 午夜)、weekly(周一 UTC 午夜)或 monthly(每月 1 日 UTC 午夜)。设置为 null 表示终身上限。⌘I