错误使用标准的 API 错误响应格式。没有有效账号身份验证的读取请求会返回
401 和 code: "unauthorized"。不要把这种失败显示为零用量、空图表或免费套餐。不受支持的方法会返回 405 和 code: "method_not_allowed",next 会指出受支持的请求。
账号 API 报告的是遥测用量,而不是金额。它不报告费用、发票或付款状态。
账号用量
GET /api/account/usage 是规范的用量和配额端点。用它获取用量总数、重置时间、配额状态,以及按项目和遥测数据流划分的明细。不要根据 SDK 文件、CLI 文件或客户端计数器计算用量。CLI 命令 logbrew usage 读取的就是这个端点。请参阅 CLI 参考。
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:
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。
