Skip to main content
使用账号 API 读取用量、配额状态、用量历史和订阅就绪状态,以及退出登录。账号读取使用账号 Bearer 令牌或浏览器会话。切勿在账号请求中使用项目接入密钥。切勿把账号凭据用作 SDK 或数据接收配置。 错误使用标准的 API 错误响应格式。没有有效账号身份验证的读取请求会返回 401 和 code: "unauthorized"。不要把这种失败显示为零用量、空图表或免费套餐。不受支持的方法会返回 405 和 code: "method_not_allowed",next 会指出受支持的请求。 账号 API 报告的是遥测用量,而不是金额。它不报告费用、发票或付款状态。

账号用量

GET /api/account/usage 是规范的用量和配额端点。用它获取用量总数、重置时间、配额状态,以及按项目和遥测数据流划分的明细。不要根据 SDK 文件、CLI 文件或客户端计数器计算用量。CLI 命令 logbrew usage 读取的就是这个端点。请参阅 CLI 参考。
以下示例响应使用模拟值。这个免费账号有 1 个项目,在当前周期内只发送了日志:

SDK 丢弃的事件

发送 response_version=2 可同时获取 sdk_dropped_events。不带此参数或使用 response_version=1 时,响应中没有此字段。
sdk_dropped_events 列出当前周期内 SDK 报告在发送前丢弃的事件,例如客户端队列已满。每个项目和原因对应 1 行:
被丢弃的事件从未到达 LogBrew。这些事件不计费,也不计入 usage、by_project 或 by_stream。如果没有 SDK 报告丢弃事件,该数组为空。

配额状态

以 state 作为主要的分支依据。只有当 state 为 ok 时,limit 才为 null。 next_action.state、next_action.limit 和 next_action.reset_at 重复顶层的值。next_action.code 的值还包括 check_usage_limits,其目标为 account_usage。如果客户端收到这一组值,重新读取用量并显示 next。 LogBrew 会把每种遥测类型与它自己的额度分别比较。limit 将它们归为两组:
  • events 涵盖问题事件和链路 Span(一次计时操作)。
  • bytes 涵盖日志字节数和指标字节数。
如果一项额度已被阻止,另一项处于警告状态,limit 会指出被阻止的那项额度。用量达到某项额度的 warning_threshold 时,进入 warning 状态。用量达到额度时,进入 blocked 状态。 next 文本可能会变化,例如在套餐暂停销售时。next_action 的值不会变化。根据 next_action 做本地化。不要解析 next。 账号用量限制不是 API 速率限制。数据接收超出某项额度时,数据接收请求会返回 429 和 usage_limit_exceeded,并在响应体中添加 limit 和 reset_at。在该错误中,limit 指出具体的额度:issue_events、log_bytes、metric_bytes 或 trace_spans。LogBrew 会拒绝整个请求。在到达 reset_at 或套餐变更之前,不要再发送该类型的遥测数据。客户端发送的请求过多时,API 会返回 rate_limited。请参阅 API 错误。 响应是一个快照。账号发生变化后,重新读取。
GET /api/logs/usage 是旧版移动端兼容响应,包含 bytes_used、limit_bytes 和 month。新的集成请使用 GET /api/account/usage。

用量历史

GET /api/account/usage/history 返回数量有限、空缺补零的用量时间桶,用于图表和报告。将 interval 设为一个受支持的值。如果省略 interval,API 使用 monthly。该路由不接受其他查询键。
这个 yearly 响应使用模拟数据,请求时间为 2026 年 6 月。所有用量都发生在 6 月:
用 current.reset_at 获取额度重置时间。不要使用历史窗口的结束时间。current 不是各时间桶之和,它的日期也可能与窗口日期不同。 最后一个时间桶包含当前的日历周期,该周期尚未结束。它的结束时间在未来,并不代表 LogBrew 统计了未来的用量。值全为零的时间桶表示 LogBrew 在该时间桶内没有统计到用量。 在时间桶中,usage.projects 统计的是在该时间桶内有用量的项目。不要把这些计数相加来得出项目数。账号拥有的项目数请使用 current.usage.projects。 事件数和字节数的单位不同,因此要分别绘制成不同的序列。时间桶包含的是用量,而不是成本。不要把图表标注为支出、发票或 API 请求。 不受支持的间隔会返回 422:
未知的查询键也会返回 422 和 validation_failed。

订阅就绪状态

GET /api/account/subscription 是只读的。用它判断是否启用付费套餐或组织相关控件。配额状态请使用用量端点。
免费账号会返回以下响应。其中的 account_id 是模拟值:
next 是显示文本。付费套餐开始或停止销售时,它会变化。显示返回的文本,或根据 next_action 做本地化。不要从 next 中硬编码套餐名称。 枚举值: 每种阻止原因都对应一组 next_action 值: 套餐层级值是标识符,不是显示名称。在本地化客户端中保持它们不变。付费账号也可能被阻止。启用创建组织功能之前,先检查 organization_creation_allowed。 该端点不会创建组织、发送邀请、更改角色或修改账单。

退出登录

选择与任务相符的最小范围。这些端点不会删除账号或其项目,不会轮换接入密钥,也不会撤销第三方登录提供方的授权。

一个应用或 CLI 登录

从持有刷新令牌的客户端发送请求。设置 Content-Type: application/json:
切勿要求用户或智能体打印或粘贴刷新令牌。成功的响应为 200:
这会撤销一个刷新令牌系列。LogBrew 会拒绝该登录之后的刷新。账号上的其他登录不受影响。客户端已持有的访问令牌在过期前仍然有效。如果账号凭据可能已泄露,请使用所有 LogBrew 登录。 收到响应后,客户端会删除本地凭据。如果再次发送同一个有效的刷新令牌,会得到相同的 200 响应。如果令牌无效、已过期或是访问令牌,响应为 401,并带有 code: "unauthorized" 和 next_action.code: "authorize_request"。这种情况下也要删除本地凭据。logbrew logout 使用的就是这个端点。

所有 LogBrew 登录

此请求会让账号上的所有客户端退出登录。智能体发送此请求之前,先获得账号所有者的批准。
成功的响应为 200:
revoked_before 包含该时刻本身,精确到毫秒。对于在该时间点或之前完成的登录,LogBrew 会拒绝其访问令牌、浏览器会话和刷新令牌。由这类登录在之后刷新得到的令牌也会被拒绝。当前的实时动态会话会结束,响应会清除浏览器会话 Cookie。在该时间之后完成的登录仍然有效。每个客户端都必须删除本地的 LogBrew 凭据,然后重新登录。 不要在重新登录后自动重复此请求。新的请求也会撤销新的登录。 如果没有收到响应,不要报告所有登录都已撤销。之后旧凭据返回的 401 不能代替成功响应。更多恢复步骤请阅读保护可能已泄露的账号。

浏览器会话

POST /api/auth/web/logout 会清除浏览器的 logbrew_session Cookie,并返回不带响应体的 204 No Content。从浏览器中调用它。不要把会话 Cookie 复制到命令中。此请求不会让其他客户端退出登录,也不会撤销 Cookie 值的副本。要撤销所有会话,请使用所有 LogBrew 登录。

从退出登录错误中恢复

遥测路由、筛选条件和分页请阅读遥测 API。