该 API 为首个发布版本。我们会根据反馈逐步扩展功能——告诉我们你需要哪些端点!
身份验证
创建 API Key
- 前往 cursor.com/dashboard → Settings 标签页 → Cursor Admin API Keys
- 点击 Create New API Key
- 给密钥起个清晰易懂的名字(例如:“Usage Dashboard Integration”)
- 立刻复制生成的密钥——之后将无法再次查看
key_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
使用你的 API 密钥
基础 URL
端点
获取团队成员
响应
示例回复
示例请求
获取每日用量数据
请求体
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
startDate | number | 是 | 起始日期(Epoch 毫秒) |
endDate | number | 是 | 结束日期(Epoch 毫秒) |
日期范围不能超过 90 天。更长的时间段请分多次发起请求。
返回
响应字段
字段 | 描述 |
---|---|
date | 以 epoch 毫秒表示的日期 |
isActive | 该日用户是否活跃 |
totalLinesAdded | 新增代码行数 |
totalLinesDeleted | 删除代码行数 |
acceptedLinesAdded | 来自已接受 AI 建议的新增行数 |
acceptedLinesDeleted | 来自已接受 AI 建议的删除行数 |
totalApplies | Apply 操作次数 |
totalAccepts | 接受的建议数 |
totalRejects | 拒绝的建议数 |
totalTabsShown | 显示的 Tab 补全次数 |
totalTabsAccepted | 接受的 Tab 补全次数 |
composerRequests | Composer 请求数 |
chatRequests | Chat 请求数 |
agentRequests | Agent 请求数 |
cmdkUsages | 命令面板(Cmd+K)使用次数 |
subscriptionIncludedReqs | 订阅内请求数 |
apiKeyReqs | API Key 请求数 |
usageBasedReqs | 按用量计费请求数 |
bugbotUsages | Bug 检测使用次数 |
mostUsedModel | 最常用的 AI 模型 |
applyMostUsedExtension | Apply 使用最频繁的文件扩展名 |
tabMostUsedExtension | Tab 使用最频繁的文件扩展名 |
clientVersion | Cursor 版本 |
email | 用户邮箱 |
示例回复
示例请求
获取支出数据
请求体
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
searchTerm | string | 否 | 在用户名和邮箱中搜索 |
sortBy | string | 否 | 排序字段:amount 、date 、user 。默认值:date |
sortDirection | string | 否 | 排序方向:asc 、desc 。默认值:desc |
page | number | 否 | 页码(从 1 开始)。默认值:1 |
pageSize | number | 否 | 每页结果数 |
返回
响应字段
字段 | 描述 |
---|---|
spendCents | 总花费(单位:美分) |
fastPremiumRequests | Fast 高级模型请求数 |
name | 成员名称 |
email | 成员邮箱 |
role | 团队角色 |
hardLimitOverrideDollars | 自定义支出上限(美元) |
subscriptionCycleStart | 订阅周期起始时间(Epoch 毫秒) |
totalMembers | 团队成员总数 |
totalPages | 总页数 |
示例回复
示例请求
获取使用事件数据
请求体
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
startDate | number | 否 | 起始日期(epoch 毫秒) |
endDate | number | 否 | 结束日期(epoch 毫秒) |
userId | number | 否 | 按指定用户 ID 过滤 |
page | number | 否 | 页码(从 1 开始)。默认值:1 |
pageSize | number | 否 | 每页返回数量。默认值:10 |
email | string | 否 | 按用户邮箱地址过滤 |
返回
响应字段说明
字段 | 说明 |
---|---|
totalUsageEventsCount | 与查询匹配的使用事件总数 |
pagination | 用于浏览结果的分页元数据 |
timestamp | 事件时间戳(自纪元起的毫秒数) |
model | 此请求使用的 AI 模型 |
kind | 使用类别(例如,“按用量计费”、“商用版包含”) |
maxMode | 是否启用了 Max 模式 |
requestsCosts | 按请求计量单位计算的成本 |
isTokenBasedCall | 当事件按令牌用量计费时为 true |
tokenUsage | 令牌用量明细(当 isTokenBasedCall 为 true 时可用) |
isFreeBugbot | 是否为免费 Bugbot 使用 |
userEmail | 发起请求的用户邮箱 |
period | 查询数据的日期范围 |
示例回复
示例请求
设置用户花费上限
速率限制: 每个团队每分钟最多 60 次请求
请求体
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
userEmail | string | 是 | 团队成员的邮箱地址 |
spendLimitDollars | number | 是 | 以美元计的花费上限(仅限整数,不含小数)。 |
- 该用户必须已是你团队的成员
- 只接受整数值(不含小数金额)
- 将
spendLimitDollars
设为 0 会把上限设为 $0
响应
示例回复
示例请求
Repo Blocklists API
获取团队仓库黑名单
响应
示例回复
示例请求
覆盖更新 Repo 阻止列表
请求体
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
repos | array | 是 | 仓库阻止列表对象数组 |
字段 | 类型 | 必填 | 说明 |
---|---|---|---|
url | string | 是 | 要加入阻止列表的仓库 URL |
patterns | string[] | 是 | 要阻止的文件模式数组(支持 glob 通配符) |
响应
示例请求
删除仓库封锁列表
参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
repoId | string | 是 | 要删除的仓库黑名单的 ID |
响应
示例请求
模式示例
*
- 屏蔽整个仓库*.env
- 屏蔽所有 .env 文件config/*
- 屏蔽 config 目录中的所有文件**/*.secret
- 屏蔽任意子目录中的所有 .secret 文件src/api/keys.ts
- 屏蔽指定文件