控制台指南

团队管理 API

团队管理 API Key 是给团队 Owner 使用的自动化凭证。它和模型调用 API Key 分离,只能访问其 scopes 允许的管理接口。

创建 Management API Key

只有团队 Owner 可以在控制台创建、轮换或吊销团队管理 API Key。

01

打开 Team > Manage API

在控制台侧边栏进入 Team,再打开 Manage API。点击 Create key,填写名称并选择自动化任务需要的 scopes。

02

只复制一次密钥明文

管理 Key 的 secret 只会显示一次。请保存到 secret manager 或部署环境变量,不要写进代码仓库。

03

人员或存储变更时及时轮换

如果 Key 可能泄露,立即 rotate 或 revoke。轮换会让旧 secret 失效,并显示新的 one-time secret。

鉴权方式

请求时可以把 manager key 放在 Bearer token 或专用 header 里。

管理 Key 使用 `mk-lcx-` 前缀,不是模型调用 Key。不要把它发到 `/v1/chat/completions` 或任何模型网关接口。

生产环境必须走 HTTPS。根据 scope 不同,管理 Key 可以读取团队用量、成员和 Key 元数据,也可能调整团队 Key 限额,因此应按管理凭证对待。

团队管理 API 的响应会刻意省略 provider 元数据。API Key 响应会包含 `supported_model_ids`,方便自动化系统判断模型访问范围,但不会暴露 provider routing。

推荐 header:`Authorization: Bearer mk-lcx-...`
可选 header:`X-Management-API-Key: mk-lcx-...`
接口前缀:`/v1/team-management`

Scopes

只给自动化任务所需的最小权限。

Scope允许的能力
team:read读取当前团队资料、credits、状态和折扣方案。
members:read读取团队成员列表和成员级消费/限额信息。
apikeys:read读取团队计费 API Key 列表、脱敏 key 值、限额和 `supported_model_ids`。
apikeys:limits:write调整团队计费 API Key 的 QPM 和每日消费限额。
usage:read读取团队用量汇总和请求级 usage logs。
pricing:read读取当前团队折扣方案生效后的模型价格。
`apikeys:limits:write` 是高影响权限。只读报表任务不要包含这个 scope。

接口参考

所有接口都会限制在该管理 Key 所属团队内。

MethodPath所需 scope用途
GET/v1/team-management/teamteam:read读取团队 credits、状态、折扣方案和消费摘要。
GET/v1/team-management/membersmembers:read读取团队成员和成员限额字段。
GET/v1/team-management/apikeysapikeys:read读取团队计费 API Key。每条 item 包含 `supported_model_ids`。支持 `status`、`member_id`、`user_id`、`team_group_id` 过滤。
PATCH/v1/team-management/apikeys/{keyId}/limitsapikeys:limits:write更新团队计费 Key 的 `qpm_limit` 和/或 `daily_spend_limit`。响应包含更新后的 Key 元数据和 `supported_model_ids`。
GET/v1/team-management/usageusage:read读取 UTC 用量总览、补零时间序列、模型分布、成员排行,以及可选的成员时间序列。
GET/v1/team-management/usage/logsusage:read读取 UTC 分页请求级 usage logs。支持时间、模型和用户过滤。
GET/v1/team-management/pricingpricing:read读取当前 UTC 时段的团队价格。命中分时定价时,基础价和团队折后价均已应用倍率;`time_pricing_multiplier_percent`、`time_pricing_start_utc`、`time_pricing_end_utc` 标识命中规则。

cURL 示例

示例使用环境变量,避免把 secret 直接写进命令或代码。

读取团队成员
export TEAM_MANAGER_KEY="mk-lcx-..."

curl https://lingcorex.ai/v1/team-management/members \
  -H "Authorization: Bearer $TEAM_MANAGER_KEY"
读取团队 API Key
curl "https://lingcorex.ai/v1/team-management/apikeys?status=active" \
  -H "Authorization: Bearer $TEAM_MANAGER_KEY"

# Response items 包含:
# id, user_id, user_email, masked_key,
# qpm_limit, daily_spend_limit, allowed_groups,
# supported_model_ids, team_group_id, created_at。
# 不返回 provider 字段。
按天和成员查看用量
curl "https://lingcorex.ai/v1/team-management/usage?bucket=day&group_by=member&start_time=2026-06-01T00:00:00Z&end_time=2026-06-17T00:00:00Z" \
  -H "Authorization: Bearer $TEAM_MANAGER_KEY"
更新 API Key 限额
curl -X PATCH https://lingcorex.ai/v1/team-management/apikeys/14/limits \
  -H "Authorization: Bearer $TEAM_MANAGER_KEY" \
  -H "Content-Type: application/json" \
  -d '{"qpm_limit":60,"daily_spend_limit":"1000.000000"}'
示例使用生产 host `https://lingcorex.ai`。

Usage 查询方式

usage 接口同时支持团队总览、成员 drill-down 和请求级排查。

团队每日看板
curl "https://lingcorex.ai/v1/team-management/usage?bucket=day&start_time=2026-06-01T00:00:00Z&end_time=2026-06-17T00:00:00Z" \
  -H "Authorization: Bearer $TEAM_MANAGER_KEY"

# 主要返回:
# - time_series: 团队每天一个点
# - models: 该时间窗口内按模型汇总 token 和 cost
# - members: 该时间窗口内成员排行
# - total_tokens / total_cost: 团队总量
按小时排查异常窗口
curl "https://lingcorex.ai/v1/team-management/usage?bucket=hour&start_time=2026-06-16T00:00:00Z&end_time=2026-06-17T00:00:00Z" \
  -H "Authorization: Bearer $TEAM_MANAGER_KEY"

# 适合排查某天突然升高的用量。
# 返回结构和每日看板一致,
# 但 time_series 的 bucket 类似 "2026-06-16 14:00:00"。
按成员展开团队用量
curl "https://lingcorex.ai/v1/team-management/usage?bucket=day&group_by=member&start_time=2026-06-01T00:00:00Z&end_time=2026-06-17T00:00:00Z" \
  -H "Authorization: Bearer $TEAM_MANAGER_KEY"

# 会额外返回 member_time_series:
# [
#   {
#     "bucket": "2026-06-10",
#     "member_id": 1,
#     "user_email": "[email protected]",
#     "request_count": 12,
#     "total_tokens": 42000,
#     "total_cost": "18.520000"
#   }
# ]
单个成员 drill-down
curl "https://lingcorex.ai/v1/team-management/usage?bucket=day&group_by=member&member_id=1&start_time=2026-06-01T00:00:00Z&end_time=2026-06-17T00:00:00Z" \
  -H "Authorization: Bearer $TEAM_MANAGER_KEY"

# member_id 是下面接口返回的团队成员 id:
# GET /v1/team-management/members
#
# 该过滤会把 time_series、models、members、
# member_time_series 和 total_* 都收窄到这个成员。
最近请求日志
curl "https://lingcorex.ai/v1/team-management/usage/logs?page=1&limit=20&start_time=2026-06-01T00:00:00Z&end_time=2026-06-17T00:00:00Z" \
  -H "Authorization: Bearer $TEAM_MANAGER_KEY"

# logs 适合看请求级记录:
# request_id, user_id, user_email, model,
# prompt_tokens, completion_tokens, total_cost, status, created_at。
按模型和用户过滤日志
curl "https://lingcorex.ai/v1/team-management/usage/logs?model=gpt-5.3-codex&user_id=2&page=1&limit=50&start_time=2026-06-01T00:00:00Z&end_time=2026-06-17T00:00:00Z" \
  -H "Authorization: Bearer $TEAM_MANAGER_KEY"

# user_id 是账户用户 id,不是 team member id。
# 当你已经从 /members 或 usage response 知道成员的 user_id 时,
# 可以用这种方式定位请求级记录。
`/usage` 上用 `member_id` 做团队成员 drill-down;`/usage/logs` 上用 `user_id` 过滤请求日志。

安全建议

管理 Key 的设计目标应该是容易轮换,而不是泄露后难以排查。

报表 Key 保持只读

Dashboard 和 ETL 通常只需要 `team:read`、`members:read`、`apikeys:read`、`usage:read`、`pricing:read`,不需要写权限。

按用途拆分自动化

报表使用一个 Key;需要调整 limits 的工作流使用另一个受控 Key。

不要暴露在浏览器里

管理 Key 应该只在后端服务、cron job 或可信自动化里使用,不要放进公开客户端代码。

还需要看定价页或产品首页?

定价页适合看公开商业信息,首页适合快速理解产品定位。