跳转到主要内容
GET
获取 Agent 输出分析(代码行数)
这是一个 v2 端点,使用 Bearer token 身份验证和 query 参数,而 v1 分析 API 则是在请求体中传入服务密钥。详见下方的身份验证。
此端点不适用于实时用量监控。数据按小时聚合,且速率限制较低 (每个团队每小时 10 次请求) 。请将其用于定期报告和批量导出。

身份验证

此端点采用 Bearer token 身份验证。请在 Authorization 标头中附上你的令牌:
请使用具有 Use Local Analytics API 权限的 Devin 服务用户 API 密钥,或具有 Analytics Read 权限的 Windsurf 服务密钥。有关这两种密钥的 创建方法,请参阅身份验证。

指标

metric query 参数为必填项,取值为以逗号分隔的指标列表,用于指定要返回的指标。 每个请求的指标都会作为整数字段出现在每一行中: 例如,?metric=loc_inserted,loc_deleted 会同时返回这两项指标;?metric=loc_inserted 则仅返回 loc_inserted。如果请求未提供 metric,或指定了未知指标,将返回 400 错误。 无论使用哪个模型,只要用户在 Devin Desktop 或 Devin CLI 中接受了 Agent 的编辑,相应的行数就会被计入。product 参数同样为必填项,目前仅支持 agent。

分组与粒度

使用 granularity 和 group_by 控制返回数据的结构:
  • 不指定粒度或分组 — 返回整个日期范围的单条聚合行
  • granularity=daily — 每行包含一个 YYYY-MM-DD 格式的 timestamp
  • granularity=monthly — 每行包含一个 YYYY-MM 格式的 timestamp
  • group_by=user — 每行包含 user_id 和 user_email
  • group_by=session — 每行包含一个 session_id (即接受这些代码行时所在的 Devin Desktop 对话或 CLI 会话)
  • group_by=model_uid — 每行包含一个 model_uid
  • group_by=ide — 每行包含一个 ide
  • group_by=ide,ide_version — 每行包含 ide 和 ide_version (按 ide_version 分组时必须同时包含 ide)
  • group_by=os — 每行包含一个 os,例如 darwin (macOS) 、windows 或 linux
  • group_by=source — 每行包含一个 source:CASCADE_CLIENT 表示在 Devin Desktop 中接受的代码行,CHISEL 表示在 Devin CLI 中接受的代码行 (包括在其他编辑器中作为 Agent 运行的 CLI)
各维度可组合使用,例如 group_by=user,source,model_uid。Get Consumption 中的 models、 group_id 和 user_id 过滤器 在此同样适用。

分页

结果以分页形式返回,默认每页 1,000 行 (最多 10,000 行) 。如果还有更多结果, 响应的 pagination 对象中会包含 next_page_cursor。将其作为 page_cursor query 参数传入即可获取下一页,同时须使用与原始请求相同的 metric 列表。游标与签发它的 端点及指标绑定;来自 /consumption 的游标,或针对不同 metric 列表签发的游标, 都会被拒绝并返回 400。 页面游标的有效期为 24 小时。获取后续分页的请求不会作为新的 query 计入你的速率限制。

速率限制

此端点的速率限制为每个团队每小时 10 次请求。超出此限制时, 服务器将返回 429 Too Many Requests,并附带 Retry-After 标头。 对先前的 query 进行分页 (即沿 next_page_cursor 继续获取) 不计入此限制—— 只有每份报告的首次 query 才会计入。限制之所以较低,是因为此端点用于 定期报告,而非实时用量监控。

授权

Authorization
string
header
必填

需要一个具有 Analytics Read 权限的服务密钥,并通过 Authorization 标头以 Bearer 令牌的形式传递。

你可以在团队设置中的“Service Keys”部分创建服务密钥。

查询参数

metric
string
必填

要返回的输出指标列表,以逗号分隔;每个指标都会以字段的形式出现在每一行中。支持的指标:

  • loc_inserted — Agent 插入且被用户接受的代码行数
  • loc_deleted — Agent 删除且被用户接受的代码行数
start_date
string<date>
必填

日期范围的起始日期(含当日),格式为 YYYY-MM-DD。

end_date
string<date>
必填

日期范围的结束日期(含当日),格式为 YYYY-MM-DD。日期范围不得超过 90 天。

product
enum<string>
必填

要查询其输出数据的产品。

可用选项:
agent
granularity
enum<string>

用于对结果分组的时间粒度。指定后,每行都包含一个 timestamp 字段。 如果省略,则汇总整个日期范围内的结果。

可用选项:
daily,
monthly
group_by
string

用于对结果分组的维度列表,以逗号分隔。支持的维度:

  • user — 每行包含 user_id 和 user_email
  • session — 每行包含 session_id
  • model_uid — 每行包含 model_uid
  • ide — 每行包含 ide
  • ide_version — 每行包含 ide_version;必须同时包含 ide
  • os — 每行包含 os
  • source — 每行包含 source(Devin Desktop 对应 CASCADE_CLIENT,Devin CLI 对应 CHISEL)
models
string

用于筛选结果的模型 UID 列表,以逗号分隔。

group_id
string

仅返回特定组中用户的结果。服务密钥必须具有该组的访问权限。不支持使用 Devin 服务用户 API 密钥。

user_id
string

仅返回特定用户(身份验证 UID)的结果。

page_size
integer
默认值:1000

每页返回的最大行数。

必填范围: 1 <= x <= 10000
page_cursor
string

用于获取下一页的不透明游标,取自上一个响应的 pagination.next_page_cursor。请传入与生成该游标的请求相同的 metric 列表;由其他端点生成或针对不同 metric 列表生成的游标将被拒绝。

响应

已成功返回输出数据。

data
object[]
必填

由输出数据行组成的数组。

pagination
object
必填
metadata
object
必填