POST /v1/events注册后进入 API Key 页面创建,形如 vc_live_xxxxxxxx…。明文只显示一次,服务端只存 sha256。
字段与 OpenAI / Anthropic 的 usage 结构一致,可以直接透传。
curl -X POST https://your-host/v1/events \
-H "Authorization: Bearer vc_live_xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"events": [{
"id": "req_abc123",
"occurredAt": "2026-10-02T09:12:00Z",
"tenantId": "acme-corp",
"feature": "report-gen",
"taskId": "task-8841",
"provider": "anthropic",
"model": "claude-opus-4.6",
"usage": { "inputTokens": 12000, "cachedInputTokens": 9000, "outputTokens": 4000 },
"status": "ok",
"latencyMs": 18400
}]
}'id 是幂等键:同一账号下重复上报同一个 id 不会重复计费。建议直接复用你的请求 ID。
仓库 sdk/node 与 sdk/python 下有零依赖实现,把 provider 客户端包一层即可自动上报。
| 字段 | 必填 | 说明 |
|---|---|---|
id | 是 | 幂等键,账号内唯一 |
occurredAt | 是 | RFC3339 时间。成本按该时刻的价目与汇率结算 |
tenantId | 是 | 你的终端客户 / 租户标识 |
feature | 否 | 功能场景,用于按功能下钻 |
taskId | 否 | 把 Agent 扇出的多次调用归到同一个业务动作 |
provider/model | 是 | 用于匹配价格库;支持别名与前缀匹配 |
usage | 是 | token 用量,透传 provider 返回的 usage 即可 |
status | 是 | ok / error / timeout / cancelled。失败调用同样计费,并单独统计为白花成本 |