《Cursor文檔》-Analytics API

Analytics API 可全面洞察團隊的 Cursor 用量,包括 AI 輔助編碼指標、活躍用戶、模型用量等。

  • Analytics API 使用 Basic 認證。大多數端點需要具有 admin:* 權限範圍的管理員 API 密鑰。Bugbot 評審分析需要 read:* 權限範圍。可在 Cursor Dashboard → API Keys 中生成密鑰。
  • 有關身份驗證、速率限制和最佳實踐的詳情,請參閱 API Overview
  • 可用性:僅限企業版團隊使用

可用端點

智能體編輯

/analytics/team/agent-edits

獲取你的團隊在 Cursor 中接受 AI 建議代碼編輯的相關指標。

參數

startDate string

分析時段的起始日期 (默認值:7 天前) 。請參閱 日期格式

endDate string

分析時段的結束日期 (默認值:今日) 。請參閱 日期格式

users string

將數據篩選爲指定用戶 (以逗號分隔的電子郵件或用戶 ID,例如 alice@example.com,user_abc123)

curl -X GET "https://api.cursor.com/analytics/team/agent-edits" \
  -u YOUR_API_KEY:

響應:

{
  "data": [
    {
      "event_date": "2025-01-15",
      "total_suggested_diffs": 145,
      "total_accepted_diffs": 98,
      "total_rejected_diffs": 47,
      "total_green_lines_accepted": 820,
      "total_red_lines_accepted": 160,
      "total_green_lines_rejected": 210,
      "total_red_lines_rejected": 60,
      "total_green_lines_suggested": 1030,
      "total_red_lines_suggested": 220,
      "total_lines_suggested": 1250,
      "total_lines_accepted": 980
    },
    {
      "event_date": "2025-01-16",
      "total_suggested_diffs": 132,
      "total_accepted_diffs": 89,
      "total_rejected_diffs": 43,
      "total_green_lines_accepted": 740,
      "total_red_lines_accepted": 150,
      "total_green_lines_rejected": 185,
      "total_red_lines_rejected": 55,
      "total_green_lines_suggested": 925,
      "total_red_lines_suggested": 175,
      "total_lines_suggested": 1100,
      "total_lines_accepted": 890
    }
  ],
  "params": {
    "metric": "agent-edits",
    "teamId": 12345,
    "startDate": "2025-01-01",
    "endDate": "2025-01-31"
  }
}

Tab 用量

/analytics/team/tabs

獲取團隊 Tab 自動補全用量指標。

參數

startDate string

分析時段的起始日期 (默認:7 天前) 。參見 日期格式

endDate string

分析時段的結束日期 (默認:今天) 。參見 日期格式

users string

將數據篩選爲指定用戶 (以逗號分隔的電子郵件或用戶 ID,例如 alice@example.com,user_abc123)

curl -X GET "https://api.cursor.com/analytics/team/tabs" \
  -u YOUR_API_KEY:

響應:

{
  "data": [
    {
      "event_date": "2025-01-15",
      "total_suggestions": 5420,
      "total_accepts": 3210,
      "total_rejects": 2210,
      "total_green_lines_accepted": 4120,
      "total_red_lines_accepted": 2000,
      "total_green_lines_rejected": 1480,
      "total_red_lines_rejected": 730,
      "total_green_lines_suggested": 5600,
      "total_red_lines_suggested": 2740,
      "total_lines_suggested": 8340,
      "total_lines_accepted": 6120
    },
    {
      "event_date": "2025-01-16",
      "total_suggestions": 4980,
      "total_accepts": 3050,
      "total_rejects": 1930,
      "total_green_lines_accepted": 3890,
      "total_red_lines_accepted": 1890,
      "total_green_lines_rejected": 1350,
      "total_red_lines_rejected": 580,
      "total_green_lines_suggested": 5240,
      "total_red_lines_suggested": 2650,
      "total_lines_suggested": 7890,
      "total_lines_accepted": 5780
    }
  ],
  "params": {
    "metric": "tabs",
    "teamId": 12345,
    "startDate": "2025-01-01",
    "endDate": "2025-01-31"
  }
}

每日活躍用戶 (DAU)

/analytics/team/dau

獲取團隊的每日活躍用戶數。DAU 是指某一天內使用過 Cursor 的唯一用戶數。
活躍用戶是指在 Cursor 中至少使用過一項 AI 功能的用戶。

響應包含 Cursor 命令行界面、Cloud Agents 和 BugBot 的 DAU 細分指標。

參數

startDate string

分析時段的起始日期 (默認:7 天前) 。參見 日期格式

endDate string

分析時段的結束日期 (默認:今天) 。參見 日期格式

users string

將數據篩選爲指定用戶 (以逗號分隔的電子郵件或用戶 ID,例如 alice@example.com,user_abc123)

curl -X GET "https://api.cursor.com/analytics/team/dau?startDate=14d&endDate=today" \
  -u YOUR_API_KEY:

響應:

{
  "data": [
    {
      "date": "2025-01-15",
      "dau": 42,
      "cli_dau": 5,
      "cloud_agent_dau": 37,
      "bugbot_dau": 10
    },
    {
      "date": "2025-01-16",
      "dau": 38,
      "cli_dau": 4,
      "cloud_agent_dau": 34,
      "bugbot_dau": 12
    }
  ],
  "params": {
    "metric": "dau",
    "teamId": 12345,
    "startDate": "2025-01-01",
    "endDate": "2025-01-31"
  }
}

客戶端版本

/analytics/team/client-versions

獲取團隊所使用的 Cursor 客戶端版本分佈 (默認統計過去 7 天) 。對於每位用戶,我們會報告其每天使用的最新版本 (如果用戶安裝了多個版本,則報告最新安裝的版本) 。

參數

startDate string

分析時段的起始日期 (默認:7 天前) 。參見 日期格式

endDate string

分析時段的結束日期 (默認:今天) 。參見 日期格式

users string

將數據篩選爲指定用戶 (以逗號分隔的電子郵件或用戶 ID,例如 alice@example.com,user_abc123)

curl -X GET "https://api.cursor.com/analytics/team/client-versions" \
  -u YOUR_API_KEY:

響應:

{
  "data": [
    {
      "event_date": "2025-01-01",
      "client_version": "0.42.3",
      "user_count": 35,
      "percentage": 0.833
    },
    {
      "event_date": "2025-01-01",
      "client_version": "0.42.2",
      "user_count": 7,
      "percentage": 0.167
    }
  ],
  "params": {
    "metric": "client-versions",
    "teamId": 12345,
    "startDate": "2025-01-01",
    "endDate": "2025-01-31"
  }
}

模型用量

/analytics/team/models

獲取團隊中 AI 模型用量的指標。

參數

startDate string

分析時段的起始日期 (默認值:7 天前) 。請參閱 日期格式

endDate string

分析時段的結束日期 (默認值:今日) 。請參閱 日期格式

users string

將數據篩選爲指定用戶 (以逗號分隔的電子郵件或用戶 ID,例如 alice@example.com,user_abc123)

curl -X GET "https://api.cursor.com/analytics/team/models" \
  -u YOUR_API_KEY:

響應:

{
  "data": [
    {
      "date": "2025-01-15",
      "model_breakdown": {
        "claude-sonnet-4.5": {
          "messages": 1250,
          "users": 28
        },
        "gpt-4o": {
          "messages": 450,
          "users": 15
        },
        "claude-opus-4.5": {
          "messages": 320,
          "users": 12
        }
      }
    },
    {
      "date": "2025-01-16",
      "model_breakdown": {
        "claude-sonnet-4.5": {
          "messages": 1180,
          "users": 26
        },
        "gpt-4o": {
          "messages": 420,
          "users": 14
        }
      }
    }
  ],
  "params": {
    "metric": "models",
    "teamId": 12345,
    "startDate": "2025-01-01",
    "endDate": "2025-01-31"
  }
}

熱門文件擴展名

/analytics/team/top-file-extensions

獲取團隊在 Cursor 中編輯最頻繁的文件。按建議數量返回每天排名前 5 的文件擴展名。

參數

startDate string

分析時段的起始日期 (默認值:7 天前) 。參閱 日期格式

endDate string

分析時段的結束日期 (默認值:今日) 。參閱 日期格式

users string

將數據篩選爲指定用戶 (以逗號分隔的電子郵件或用戶 ID,例如 alice@example.com,user_abc123)

curl -X GET "https://api.cursor.com/analytics/team/top-file-extensions?startDate=30d&endDate=today" \
  -u YOUR_API_KEY:

響應:

{
  "data": [
    {
      "event_date": "2025-01-15",
      "file_extension": "tsx",
      "total_files": 156,
      "total_accepts": 98,
      "total_rejects": 45,
      "total_lines_suggested": 3230,
      "total_lines_accepted": 2340,
      "total_lines_rejected": 890
    },
    {
      "event_date": "2025-01-15",
      "file_extension": "ts",
      "total_files": 142,
      "total_accepts": 89,
      "total_rejects": 38,
      "total_lines_suggested": 2850,
      "total_lines_accepted": 2100,
      "total_lines_rejected": 750
    }
  ],
  "params": {
    "metric": "top-files",
    "teamId": 12345,
    "startDate": "2025-01-01",
    "endDate": "2025-01-31"
  }
}

MCP 採用率

/analytics/team/mcp

獲取團隊 MCP (模型上下文協議) 工具採用情況的指標。返回按工具名稱和 MCP 服務器名稱細分的每日採用數量。

參數

startDate string

分析時段的起始日期 (默認值:7 天前) 。參閱 日期格式

endDate string

分析時段的結束日期 (默認值:今日) 。參閱 日期格式

users string

將數據篩選爲指定用戶 (以逗號分隔的電子郵件或用戶 ID,例如:alice@example.com,user_abc123)

curl -X GET "https://api.cursor.com/analytics/team/mcp" \
  -u YOUR_API_KEY:

響應:

{
  "data": [
    {
      "event_date": "2025-01-15",
      "tool_name": "read_file",
      "mcp_server_name": "filesystem",
      "usage": 245
    },
    {
      "event_date": "2025-01-15",
      "tool_name": "search_web",
      "mcp_server_name": "brave-search",
      "usage": 128
    },
    {
      "event_date": "2025-01-16",
      "tool_name": "read_file",
      "mcp_server_name": "filesystem",
      "usage": 231
    }
  ],
  "params": {
    "metric": "mcp",
    "teamId": 12345,
    "startDate": "2025-01-01",
    "endDate": "2025-01-31"
  }
}

命令採用率

/analytics/team/commands

獲取團隊中 Cursor 命令採用情況的指標。返回按命令名稱細分的每日採用數量。

參數

startDate string

分析時段的起始日期 (默認值:7 天前) 。參閱 日期格式

endDate string

分析時段的結束日期 (默認值:今日) 。參閱 日期格式

users string

將數據篩選爲指定用戶 (以逗號分隔的電子郵件地址或用戶 ID,例如 alice@example.com,user_abc123)

curl -X GET "https://api.cursor.com/analytics/team/commands" \
  -u YOUR_API_KEY:

響應:

{
  "data": [
    {
      "event_date": "2025-01-15",
      "command_name": "explain",
      "usage": 89
    },
    {
      "event_date": "2025-01-15",
      "command_name": "refactor",
      "usage": 45
    },
    {
      "event_date": "2025-01-16",
      "command_name": "explain",
      "usage": 92
    }
  ],
  "params": {
    "metric": "commands",
    "teamId": 12345,
    "startDate": "2025-01-01",
    "endDate": "2025-01-31"
  }
}

方案模式採用率

/analytics/team/plans

獲取團隊中 Plan 模式採用情況的指標。返回按生成方案所用 AI 模型細分的每日採用數量。

當用戶啓用 Auto model selection 時,API 會返回 default 作爲模型名稱。這對應於用戶在 Cursor 界面中看到的“Auto”。

參數

startDate string

分析時段的起始日期 (默認值:7 天前) 。參閱 日期格式

endDate string

分析時段的結束日期 (默認值:今日) 。參閱 日期格式

users string

將數據篩選爲指定用戶 (以逗號分隔的電子郵件或用戶 ID,例如 alice@example.com,user_abc123)

curl -X GET "https://api.cursor.com/analytics/team/plans" \
  -u YOUR_API_KEY:

響應:

{
  "data": [
    {
      "event_date": "2025-01-15",
      "model": "claude-sonnet-4.5",
      "usage": 156
    },
    {
      "event_date": "2025-01-15",
      "model": "default",
      "usage": 42
    },
    {
      "event_date": "2025-01-16",
      "model": "claude-sonnet-4.5",
      "usage": 148
    }
  ],
  "params": {
    "metric": "plans",
    "teamId": 12345,
    "startDate": "2025-01-01",
    "endDate": "2025-01-31"
  }
}

技能採用率

/analytics/team/skills

獲取整個團隊的技能採用率指標。返回按技能名稱細分的每日採用數量。

參數

startDate string

分析時段的起始日期 (默認值:7 天前) 。請參閱日期格式

endDate string

分析時段的結束日期 (默認值:今日) 。請參閱日期格式

users string

將數據篩選爲指定用戶 (以逗號分隔的電子郵件或用戶 ID,例如 alice@example.com,user_abc123)

curl -X GET "https://api.cursor.com/analytics/team/skills" \
  -u YOUR_API_KEY:

響應:

{
  "data": [
    {
      "event_date": "2025-01-15",
      "skill_name": "react-best-practices",
      "usage": 53
    },
    {
      "event_date": "2025-01-15",
      "skill_name": "usage-billing",
      "usage": 41
    },
    {
      "event_date": "2025-01-16",
      "skill_name": "react-best-practices",
      "usage": 48
    }
  ],
  "params": {
    "metric": "skills",
    "teamId": 12345,
    "startDate": "2025-01-01",
    "endDate": "2025-01-31"
  }
}

Ask 模式採用率

/analytics/team/ask-mode

獲取團隊 Ask 模式採用率指標。返回按用於 Ask 模式查詢的 AI 模型細分的每日採用數量。

參數

startDate string

分析時段的起始日期 (默認:7 天前) 。參見 日期格式

endDate string

分析時段的結束日期 (默認:今天) 。參見 日期格式

users string

將數據篩選爲指定用戶 (以逗號分隔的電子郵件或用戶 ID,例如 alice@example.com,user_abc123)

curl -X GET "https://api.cursor.com/analytics/team/ask-mode" \
  -u YOUR_API_KEY:

響應:

{
  "data": [
    {
      "event_date": "2025-01-15",
      "model": "claude-sonnet-4.5",
      "usage": 203
    },
    {
      "event_date": "2025-01-15",
      "model": "gpt-4o",
      "usage": 67
    },
    {
      "event_date": "2025-01-16",
      "model": "claude-sonnet-4.5",
      "usage": 198
    }
  ],
  "params": {
    "metric": "ask-mode",
    "teamId": 12345,
    "startDate": "2025-01-01",
    "endDate": "2025-01-31"
  }
}

對話洞察

/analytics/team/conversation-insights

獲取儀表盤中顯示的彙總對話洞察數據。此端點返回彙總洞察,不返回原始對話導出數據或原始對話內容。

僅適用於已啓用對話洞察的企業版團隊。如果在團隊設置中開啓了 禁用對話洞察,此端點將返回 401

如需按用戶篩選,請使用團隊級端點中介紹的通用 users 查詢參數。SCIM 羣組篩選僅在儀表盤 UI 中可用,Analytics API 不支持。

intentscomplexity 描述完整對話。

categoriesguidanceLevelsworkTypes 描述對話各片段中的工作內容。

參數

startDate string

分析週期的開始日期 (默認值:7 天前) 。參見日期格式

endDate string

分析週期的結束日期 (默認值:今日) 。參見日期格式

include string | string[]

必填。選擇要返回的對話洞察維度。支持的值包括:intentscomplexitycategoriesguidanceLevelsworkTypes。可將 include 作爲以逗號分隔的列表傳入,例如 include=intents,complexity;也可重複傳入,例如 include=intents&include=workTypes

users string

可選。將對話洞察篩選爲特定用戶。傳入以逗號分隔的電子郵件地址或用戶 ID,例如 users=alice@example.com,user_abc123

curl -X GET "https://api.cursor.com/analytics/team/conversation-insights?startDate=2026-03-01&endDate=2026-03-07&include=intents,complexity,categories,guidanceLevels,workTypes&users=alice@example.com,bob@example.com" \
  -u YOUR_API_KEY:

響應:

{
  "data": {
    "intents": {
      "distribution": [
        {
          "intent": "Write Code",
          "count": 18
        },
        {
          "intent": "Ask",
          "count": 7
        },
        {
          "intent": "Plan",
          "count": 3
        }
      ],
      "topValues": [
        {
          "intent": "Write Code",
          "count": 18
        },
        {
          "intent": "Ask",
          "count": 7
        }
      ],
      "timeSeries": [
        {
          "date": "2026-03-01",
          "intent": "Ask",
          "count": 2
        },
        {
          "date": "2026-03-02",
          "intent": "Write Code",
          "count": 6
        }
      ],
      "subcategories": {
        "askMode": [
          {
            "subcategory": "error_fix",
            "count": 4
          }
        ],
        "planMode": [
          {
            "subcategory": "implementation",
            "count": 3
          }
        ],
        "writeCode": [
          {
            "subcategory": "feature",
            "count": 11
          }
        ]
      }
    },
    "complexity": {
      "distribution": [
        {
          "complexity": "high",
          "count": 12
        },
        {
          "complexity": "medium",
          "count": 10
        }
      ],
      "timeSeries": [
        {
          "date": "2026-03-01",
          "complexity": "medium",
          "count": 4
        },
        {
          "date": "2026-03-02",
          "complexity": "high",
          "count": 5
        }
      ]
    },
    "categories": {
      "distribution": [
        {
          "category": "New Features",
          "count": 9
        },
        {
          "category": "Bug Fixing & Debugging",
          "count": 6
        }
      ],
      "timeSeries": [
        {
          "date": "2026-03-01",
          "category": "Bug Fixing & Debugging",
          "count": 2
        },
        {
          "date": "2026-03-02",
          "category": "New Features",
          "count": 4
        }
      ]
    },
    "guidanceLevels": {
      "distribution": [
        {
          "guidanceLevel": "high",
          "count": 8
        },
        {
          "guidanceLevel": "medium",
          "count": 7
        }
      ],
      "timeSeries": [
        {
          "date": "2026-03-01",
          "guidanceLevel": "medium",
          "count": 3
        },
        {
          "date": "2026-03-02",
          "guidanceLevel": "high",
          "count": 4
        }
      ]
    },
    "workTypes": {
      "distribution": [
        {
          "workType": "new_feature",
          "count": 9
        },
        {
          "workType": "bug",
          "count": 6
        }
      ],
      "timeSeries": [
        {
          "date": "2026-03-01",
          "workType": "bug",
          "count": 2
        },
        {
          "date": "2026-03-02",
          "workType": "new_feature",
          "count": 4
        }
      ]
    }
  },
  "params": {
    "metric": "conversation-insights",
    "teamId": 12345,
    "startDate": "2026-03-01",
    "endDate": "2026-03-07",
    "include": [
      "intents",
      "complexity",
      "categories",
      "guidanceLevels",
      "workTypes"
    ]
  }
}

排行榜

/analytics/team/leaderboard

獲取按 AI 用量指標排名的團隊成員排行榜。

行爲:

  • 不篩選用戶:返回按指定指標排名的用戶 (默認值:已接受代碼行數總計)
  • 篩選用戶:返回符合篩選條件的用戶 (並顯示其實際的團隊總排名)
  • 支持對成員較多的團隊進行分頁

參數

startDate string

分析週期的起始日期 (默認值:7 天前) 。參閱 日期格式

endDate string

分析週期的結束日期 (默認值:今日) 。參閱 日期格式

page number

分頁頁碼 (從 1 開始) 。默認值:1

pageSize number

每頁用戶數 (默認值:10,最大值:500)

users string

篩選指定用戶 (以逗號分隔的電子郵件或用戶 ID,例如 alice@example.com,user_abc123)

Tab 自動補全和智能體編輯分別返回各自的排行榜。按用戶篩選時,這些用戶會顯示其實際的團隊總排名,而非篩選後的排名。例如,如果請求的用戶總排名爲第 45 名,則會顯示爲 rank: 45

# 獲取排行榜第 1 頁(前 10 名用戶)
curl -X GET "https://api.cursor.com/analytics/team/leaderboard" \
  -u YOUR_API_KEY:
# 使用自定義頁面大小獲取第二頁
curl -X GET "https://api.cursor.com/analytics/team/leaderboard?page=2&pageSize=20" \
  -u YOUR_API_KEY:
# 按指定用戶篩選
curl -X GET "https://api.cursor.com/analytics/team/leaderboard?users=alice@example.com,bob@example.com" \
  -u YOUR_API_KEY:

響應:

{
  "data": {
    "tab_leaderboard": {
      "data": [
        {
          "email": "alice@example.com",
          "user_id": "user_abc123",
          "profile_picture_url": "https://example.com/avatars/alice.jpg",
          "total_accepts": 1334,
          "total_lines_accepted": 3455,
          "total_lines_suggested": 15307,
          "line_acceptance_ratio": 0.2256519892590384,
          "accept_ratio": 0.2330827067669173,
          "rank": 1
        },
        {
          "email": "bob@example.com",
          "user_id": "user_def789",
          "profile_picture_url": "https://example.com/avatars/bob.jpg",
          "total_accepts": 796,
          "total_lines_accepted": 2090,
          "total_lines_suggested": 7689,
          "line_acceptance_ratio": 0.2718168812589414,
          "accept_ratio": 0.2731256599787746,
          "rank": 2
        }
      ],
      "total_users": 142
    },
    "agent_leaderboard": {
      "data": [
        {
          "email": "alice@example.com",
          "user_id": "user_abc123",
          "profile_picture_url": "https://example.com/avatars/alice.jpg",
          "total_accepts": 914,
          "total_lines_accepted": 65947,
          "total_lines_suggested": 201467,
          "line_acceptance_ratio": 0.3273465219182842,
          "rank": 1
        },
        {
          "email": "bob@example.com",
          "user_id": "user_def789",
          "profile_picture_url": "https://example.com/avatars/bob.jpg",
          "total_accepts": 843,
          "total_lines_accepted": 61709,
          "total_lines_suggested": 51092,
          "line_acceptance_ratio": 1.2077924536684573,
          "rank": 2
        }
      ],
      "total_users": 142
    }
  },
  "pagination": {
    "page": 1,
    "pageSize": 10,
    "totalUsers": 142,
    "totalPages": 15,
    "hasNextPage": true,
    "hasPreviousPage": false
  },
  "params": {
    "metric": "leaderboard",
    "teamId": 12345,
    "startDate": "2025-01-01",
    "endDate": "2025-01-31",
    "page": 1,
    "pageSize": 10
  }
}

Bugbot 使用分析

/analytics/team/bugbot

獲取團隊中每個 PR 的 Bugbot 評審分析數據,包括按嚴重程度統計的問題數量以及已解決的問題數量。

如需獲取包含計費成本和各項發現的單次評審數據,請使用 Bugbot 評審分析

參數

startDate string

分析週期的起始日期 (默認:7 天前) 。詳見 日期格式

endDate string

分析週期的結束日期 (默認:今天) 。詳見 日期格式

prState string

PR 狀態篩選條件。允許值:mergedall。默認值:merged。僅查看已合併 PR 的分析數據時使用 merged;查看所有 PR 狀態的分析數據時使用 all

repo string

可選的代碼倉庫篩選條件。接受完整 URL 或 host/path 格式 (例如 https://github.com/org/repo.gitgithub.com/org/repo) 。將規範化爲 host/owner/repo

page number

分頁頁碼 (從 1 開始) 。默認值:1

pageSize number

每頁 PR 數量 (默認值:100,最大值:250)

# 獲取過去 7 天的 Bugbot PR 使用分析(默認時間窗口)
curl -X GET "https://api.cursor.com/analytics/team/bugbot" \
  -u YOUR_API_KEY:
# 按代碼倉庫和日期範圍篩選
curl -X GET "https://api.cursor.com/analytics/team/bugbot?repo=github.com/acme/app&startDate=2025-01-01&endDate=2025-01-31" \
  -u YOUR_API_KEY:
# 對結果進行分頁
curl -X GET "https://api.cursor.com/analytics/team/bugbot?page=2&pageSize=50" \
  -u YOUR_API_KEY:

響應:

{
  "data": [
    {
      "repo": "github.com/acme/app",
      "pr_number": 42,
      "timestamp": "2025-01-21T00:00:00.000Z",
      "reviews": 3,
      "issues": {
        "total": 5,
        "by_severity": {
          "high": 1,
          "medium": 2,
          "low": 2
        }
      },
      "issues_resolved": {
        "total": 2,
        "by_severity": {
          "high": 1,
          "medium": 1,
          "low": 0
        }
      }
    }
  ],
  "pagination": {
    "page": 1,
    "pageSize": 100,
    "totalItems": 1,
    "totalPages": 1,
    "hasNextPage": false,
    "hasPreviousPage": false
  },
  "params": {
    "metric": "bugbot",
    "teamId": 12345,
    "startDate": "2025-01-01",
    "endDate": "2025-01-31",
    "repo": "github.com/acme/app",
    "prState": "merged",
    "page": 1,
    "pageSize": 100
  }
}

Bugbot 評審使用分析

/analytics/team/bugbot-reviews

每個已完成的 Bugbot 評審返回一條記錄,包括已評審的 commit、finding 數量、計費費用以及每個 finding 的解決數據。

包括已發佈的評審和 Dry-run 評審。已發佈的 finding 通過 comment_idresolution_status 標識。Dry-run finding 則返回 titledescriptionlocations,因爲不會向 SCM 發佈任何內容。

需要具有 read:* 範圍的 API 密鑰。

參數

startDate string

使用分析範圍的開始時間。默認值爲 7 天前。參閱 日期格式

endDate string

使用分析範圍的結束時間。默認值爲 now。參閱 日期格式

repo string

可選的代碼倉庫篩選條件,格式爲 host/owner/repo。協議和 .git 後綴均可省略。

prNumber number

可選的 PR 或合併請求編號。

page number

分頁頁碼 (從 1 開始) 。默認值:1

pageSize number

每頁評審數量。默認值:100,最大值:250

dryRun boolean

可選篩選條件,僅篩選 Dry-run (true) 或已發佈 (false) 的評審。

curl --get https://api.cursor.com/analytics/team/bugbot-reviews \
  -u YOUR_API_KEY: \
  --data-urlencode 'startDate=2026-06-01' \
  --data-urlencode 'endDate=2026-06-29' \
  --data-urlencode 'repo=github.com/your-org/your-repo' \
  --data-urlencode 'prNumber=42' \
  --data-urlencode 'page=1' \
  --data-urlencode 'pageSize=100'
curl --get https://api.cursor.com/analytics/team/bugbot-reviews \
  -u YOUR_API_KEY: \
  --data-urlencode 'dryRun=true' \
  --data-urlencode 'repo=github.com/your-org/your-repo' \
  --data-urlencode 'prNumber=42'

響應 (已發佈的評審) :

{
  "data": [
    {
      "request_id": "6e0d261c-86a2-4383-89f0-9162c1c10662",
      "timestamp": "2026-06-29T19:42:18.000Z",
      "repo": "github.com/your-org/your-repo",
      "repo_node_id": "R_kgDOABCDEF",
      "pr_number": 42,
      "commit_sha": "9f3c2a1b7d8e4f5061728394a5b6c7d8e9f0a1b2",
      "bugs_found": 2,
      "cost_cents": 42.5,
      "dry_run": false,
      "publication_status": "posted",
      "bugs": [
        {
          "comment_id": "2147483999",
          "resolution_status": "resolved",
          "severity": "high"
        },
        {
          "comment_id": "2147484000",
          "resolution_status": "unresolved",
          "severity": "medium"
        }
      ]
    }
  ],
  "pagination": {
    "page": 1,
    "pageSize": 100,
    "totalItems": 1,
    "totalPages": 1,
    "hasNextPage": false,
    "hasPreviousPage": false
  },
  "params": {
    "metric": "bugbot-reviews",
    "teamId": 12345,
    "startDate": "2026-06-01",
    "endDate": "2026-06-29",
    "repo": "github.com/your-org/your-repo",
    "prNumber": 42,
    "page": 1,
    "pageSize": 100
  }
}

響應 (Dry-run 評審) :

{
  "data": [
    {
      "request_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "timestamp": "2026-06-29T20:15:03.000Z",
      "repo": "github.com/your-org/your-repo",
      "repo_node_id": "R_kgDOABCDEF",
      "pr_number": 42,
      "commit_sha": "9f3c2a1b7d8e4f5061728394a5b6c7d8e9f0a1b2",
      "bugs_found": 1,
      "cost_cents": null,
      "dry_run": true,
      "publication_status": "dry_run",
      "bugs": [
        {
          "comment_id": null,
          "resolution_status": null,
          "severity": "medium",
          "title": "Unbounded retry loop",
          "description": "retry() recurses without a ceiling.",
          "locations": [
            { "file": "src/net.ts", "start_line": 5, "end_line": 9 }
          ]
        }
      ]
    }
  ],
  "pagination": {
    "page": 1,
    "pageSize": 100,
    "totalItems": 1,
    "totalPages": 1,
    "hasNextPage": false,
    "hasPreviousPage": false
  },
  "params": {
    "metric": "bugbot-reviews",
    "teamId": 12345,
    "startDate": "2026-06-01",
    "endDate": "2026-06-29",
    "repo": "github.com/your-org/your-repo",
    "prNumber": 42,
    "dryRun": true,
    "page": 1,
    "pageSize": 100
  }
}

repo_node_idpr_numbercommit_shacost_centsbugs[].comment_idbugs[].resolution_statusbugs[].severity 在不可用時可能爲 null。如果審覈未單獨計費,cost_centsnull。對於 dry-run 審覈,bugs[].titlebugs[].descriptionbugs[].locations 包含檢測結果內容。dry-run 的檢測結果其 comment_idresolution_status 均爲 null,因爲不會向 SCM 發佈任何內容。

要觸發 Dry-run 評審,請調用 POST /bugbot/review,並將 "dryRun" 設爲 true。請參閱 Bugbot API 文檔


按用戶劃分的端點

按用戶劃分的端點提供與團隊級端點相同的指標,並按用戶彙總數據,支持分頁。它們非常適合生成按用戶統計的報告,或分批處理大型團隊。

常用查詢參數

參數 類型 必填 描述
startDate 日期 string 分析時段的開始日期 (默認值:7 天前)
endDate 日期 string 分析週期的結束日期 (默認值:今日)
page number 頁碼 (默認值:1)
pageSize number 每頁用戶數 (默認值:100,最大值:500)
users string 將分頁限定爲特定用戶 (以逗號分隔的電子郵件或 ID,例如 alice@example.com,user_abc123)

用戶篩選:
向按用戶端點傳入 users 參數時:

  • 分頁結果會被篩選:結果集和分頁計數僅包含指定用戶
  • 適用於:無需遍歷所有用戶的分頁即可獲取特定團隊成員的詳細數據
  • 示例:如果有 500 名用戶,但只需獲取其中 3 名特定用戶的數據,可按其電子郵件篩選,在單頁中獲取這 3 名用戶的全部數據

**注意:**按用戶端點支持與團隊級端點相同的日期格式和快捷方式。請參閱上方的日期格式部分。

響應格式

所有按用戶劃分的端點均按以下格式返回數據:

{
  "data": {
    "user1@example.com": [ /* 用戶數據 */ ],
    "user2@example.com": [ /* 用戶數據 */ ]
  },
  "pagination": {
    "page": 1,
    "pageSize": 100,
    "totalUsers": 250,
    "totalPages": 3,
    "hasNextPage": true,
    "hasPreviousPage": false
  },
  "params": {
    "metric": "agent-edits",
    "teamId": 12345,
    "startDate": "2025-01-01",
    "endDate": "2025-01-31",
    "page": 1,
    "pageSize": 100,
    "userMappings": [
      { "id": "user_abc123", "email": "user1@example.com" },
      { "id": "user_def456", "email": "user2@example.com" }
    ]
  }
}

響應結構:

  • data - 以用戶電子郵件地址爲鍵的對象,每個鍵對應一個包含該用戶指標的數組
  • pagination - 分頁信息
  • params - 回顯的請求參數
  • userMappings - 將電子郵件地址映射到本頁公開用戶 ID 的數組。可用於與其他 API 交叉參照,或創建指向用戶個人資料的鏈接。

可用端點

所有按用戶劃分的端點均遵循以下模式:/analytics/by-user/{metric}

  • GET /analytics/by-user/agent-edits - 用戶的智能體編輯
  • GET /analytics/by-user/tabs - 用戶的 Tab 用量
  • GET /analytics/by-user/models - 用戶的模型用量
  • GET /analytics/by-user/top-file-extensions - 用戶使用最多的文件
  • GET /analytics/by-user/client-versions - 用戶的客戶端版本
  • GET /analytics/by-user/mcp - 用戶的 MCP 採用率
  • GET /analytics/by-user/commands - 用戶的命令採用率
  • GET /analytics/by-user/plans - 用戶的方案採用率
  • GET /analytics/by-user/skills - 用戶的技能採用率
  • GET /analytics/by-user/ask-mode - 用戶的 Ask 模式採用率

按用戶劃分的智能體編輯

/analytics/by-user/agent-edits

獲取按用戶彙總且支持分頁的智能體編輯指標。

參數

startDate string

分析時段的起始日期 (默認值:7 天前) 。參閱 日期格式

endDate string

分析時段的結束日期 (默認值:今日) 。參閱 日期格式

page number

頁碼 (從 1 開始) 。默認值:1

pageSize number

每頁用戶數 (默認值:100,最大值:500)

users string

將分頁結果限定爲特定用戶 (以逗號分隔的電子郵件或用戶 ID,例如 alice@example.com,user_abc123)

curl -X GET "https://api.cursor.com/analytics/by-user/agent-edits?page=1&pageSize=50" \
  -u YOUR_API_KEY:
curl -X GET "https://api.cursor.com/analytics/by-user/agent-edits?users=alice@example.com,bob@example.com,carol@example.com" \
  -u YOUR_API_KEY:

響應:

{
  "data": {
    "alice@example.com": [
      {
        "event_date": "2025-01-15",
        "total_suggested_diffs": 145,
        "total_accepted_diffs": 98,
        "total_rejected_diffs": 47,
        "total_green_lines_accepted": 820,
        "total_red_lines_accepted": 160,
        "total_green_lines_rejected": 210,
        "total_red_lines_rejected": 60,
        "total_green_lines_suggested": 1030,
        "total_red_lines_suggested": 220,
        "total_lines_suggested": 1250,
        "total_lines_accepted": 980
      },
      {
        "event_date": "2025-01-16",
        "total_suggested_diffs": 132,
        "total_accepted_diffs": 89,
        "total_rejected_diffs": 43,
        "total_green_lines_accepted": 740,
        "total_red_lines_accepted": 150,
        "total_green_lines_rejected": 185,
        "total_red_lines_rejected": 55,
        "total_green_lines_suggested": 925,
        "total_red_lines_suggested": 175,
        "total_lines_suggested": 1100,
        "total_lines_accepted": 890
      }
    ],
    "bob@example.com": [
      {
        "event_date": "2025-01-15",
        "total_suggested_diffs": 95,
        "total_accepted_diffs": 72,
        "total_rejected_diffs": 23,
        "total_green_lines_accepted": 450,
        "total_red_lines_accepted": 90,
        "total_green_lines_rejected": 120,
        "total_red_lines_rejected": 35,
        "total_green_lines_suggested": 570,
        "total_red_lines_suggested": 125,
        "total_lines_suggested": 695,
        "total_lines_accepted": 540
      }
    ]
  },
  "pagination": {
    "page": 1,
    "pageSize": 50,
    "totalUsers": 120,
    "totalPages": 3,
    "hasNextPage": true,
    "hasPreviousPage": false
  },
  "params": {
    "metric": "agent-edits",
    "teamId": 12345,
    "startDate": "2025-01-01",
    "endDate": "2025-01-31",
    "page": 1,
    "pageSize": 50,
    "userMappings": [
      { "id": "user_abc123", "email": "alice@example.com" },
      { "id": "user_def456", "email": "bob@example.com" }
    ]
  }
}

按用戶劃分的 Tab 用量

/analytics/by-user/tabs

獲取按用戶彙總、支持分頁的 Tab 自動補全指標。

參數

startDate string

分析週期的起始日期 (默認值:7 天前) 。參閱 日期格式

endDate string

分析週期的結束日期 (默認值:今日) 。參閱 日期格式

page number

頁碼 (從 1 開始) 。默認值:1

pageSize number

每頁用戶數 (默認值:100,最大值:500)

users string

將分頁限定爲特定用戶 (以逗號分隔的電子郵件或用戶 ID,例如 alice@example.com,user_abc123)

curl -X GET "https://api.cursor.com/analytics/by-user/tabs?page=1&pageSize=50" \
  -u YOUR_API_KEY:

響應:

{
  "data": {
    "alice@example.com": [
      {
        "event_date": "2025-01-15",
        "total_suggestions": 320,
        "total_accepts": 210,
        "total_rejects": 110,
        "total_green_lines_accepted": 280,
        "total_red_lines_accepted": 120,
        "total_green_lines_rejected": 90,
        "total_red_lines_rejected": 45,
        "total_green_lines_suggested": 370,
        "total_red_lines_suggested": 165,
        "total_lines_suggested": 535,
        "total_lines_accepted": 400
      }
    ],
    "bob@example.com": [
      {
        "event_date": "2025-01-15",
        "total_suggestions": 180,
        "total_accepts": 120,
        "total_rejects": 60,
        "total_green_lines_accepted": 150,
        "total_red_lines_accepted": 70,
        "total_green_lines_rejected": 50,
        "total_red_lines_rejected": 25,
        "total_green_lines_suggested": 200,
        "total_red_lines_suggested": 95,
        "total_lines_suggested": 295,
        "total_lines_accepted": 220
      }
    ]
  },
  "pagination": {
    "page": 1,
    "pageSize": 50,
    "totalUsers": 120,
    "totalPages": 3,
    "hasNextPage": true,
    "hasPreviousPage": false
  },
  "params": {
    "metric": "tabs",
    "teamId": 12345,
    "startDate": "2025-01-01",
    "endDate": "2025-01-31",
    "page": 1,
    "pageSize": 50,
    "userMappings": [
      { "id": "user_abc123", "email": "alice@example.com" },
      { "id": "user_def456", "email": "bob@example.com" }
    ]
  }
}

按用戶劃分的模型用量

/analytics/by-user/models

獲取按用戶彙總、支持分頁的模型用量指標。

參數

startDate string

分析週期的起始日期 (默認值:7 天前) 。參閱 日期格式

endDate string

分析週期的結束日期 (默認值:今日) 。參閱 日期格式

page number

頁碼 (從 1 開始) 。默認值:1

pageSize number

每頁用戶數 (默認值:100,最大值:500)

users string

將分頁限定爲特定用戶 (以逗號分隔的電子郵件或用戶 ID,例如 alice@example.com,user_abc123)

curl -X GET "https://api.cursor.com/analytics/by-user/models?page=1&pageSize=50" \
  -u YOUR_API_KEY:

響應:

{
  "data": {
    "alice@example.com": [
      {
        "date": "2025-01-15",
        "model_breakdown": {
          "claude-sonnet-4.5": {
            "messages": 85,
            "users": 1
          },
          "gpt-4o": {
            "messages": 32,
            "users": 1
          }
        }
      }
    ],
    "bob@example.com": [
      {
        "date": "2025-01-15",
        "model_breakdown": {
          "claude-sonnet-4.5": {
            "messages": 64,
            "users": 1
          }
        }
      }
    ]
  },
  "pagination": {
    "page": 1,
    "pageSize": 50,
    "totalUsers": 120,
    "totalPages": 3,
    "hasNextPage": true,
    "hasPreviousPage": false
  },
  "params": {
    "metric": "models",
    "teamId": 12345,
    "startDate": "2025-01-01",
    "endDate": "2025-01-31",
    "page": 1,
    "pageSize": 50,
    "userMappings": [
      { "id": "user_abc123", "email": "alice@example.com" },
      { "id": "user_def456", "email": "bob@example.com" }
    ]
  }
}

按用戶劃分的熱門文件擴展名

/analytics/by-user/top-file-extensions

獲取按用戶彙總的熱門文件擴展名指標,支持分頁。

參數

startDate string

分析週期的起始日期 (默認值:7 天前) 。參閱 日期格式

endDate string

分析週期的結束日期 (默認值:今日) 。參閱 日期格式

page number

頁碼 (從 1 開始) 。默認值:1

pageSize number

每頁用戶數 (默認值:100,最大值:500)

users string

將分頁限定爲特定用戶 (以逗號分隔的電子郵件或用戶 ID,例如 alice@example.com,user_abc123)

curl -X GET "https://api.cursor.com/analytics/by-user/top-file-extensions?page=1&pageSize=50" \
  -u YOUR_API_KEY:

響應:

{
  "data": {
    "alice@example.com": [
      {
        "event_date": "2025-01-15",
        "file_extension": "tsx",
        "total_files": 45,
        "total_accepts": 32,
        "total_rejects": 10,
        "total_lines_suggested": 890,
        "total_lines_accepted": 650,
        "total_lines_rejected": 240
      },
      {
        "event_date": "2025-01-15",
        "file_extension": "ts",
        "total_files": 38,
        "total_accepts": 28,
        "total_rejects": 8,
        "total_lines_suggested": 720,
        "total_lines_accepted": 540,
        "total_lines_rejected": 180
      }
    ],
    "bob@example.com": [
      {
        "event_date": "2025-01-15",
        "file_extension": "py",
        "total_files": 22,
        "total_accepts": 18,
        "total_rejects": 4,
        "total_lines_suggested": 410,
        "total_lines_accepted": 340,
        "total_lines_rejected": 70
      }
    ]
  },
  "pagination": {
    "page": 1,
    "pageSize": 50,
    "totalUsers": 120,
    "totalPages": 3,
    "hasNextPage": true,
    "hasPreviousPage": false
  },
  "params": {
    "metric": "top-files",
    "teamId": 12345,
    "startDate": "2025-01-01",
    "endDate": "2025-01-31",
    "page": 1,
    "pageSize": 50,
    "userMappings": [
      { "id": "user_abc123", "email": "alice@example.com" },
      { "id": "user_def456", "email": "bob@example.com" }
    ]
  }
}

按用戶劃分的客戶端版本

/analytics/by-user/client-versions

獲取按用戶彙總的客戶端版本指標,支持分頁。

參數

startDate string

分析週期的起始日期 (默認:7 天前) 。參見 日期格式

endDate string

分析週期的結束日期 (默認:今天) 。參見 日期格式

page number

頁碼 (從 1 開始) 。默認值:1

pageSize number

每頁用戶數 (默認值:100,最大值:500)

users string

將分頁限定爲特定用戶 (以逗號分隔的電子郵件或用戶 ID,例如 alice@example.com,user_abc123)

curl -X GET "https://api.cursor.com/analytics/by-user/client-versions?page=1&pageSize=50" \
  -u YOUR_API_KEY:

響應:

{
  "data": {
    "alice@example.com": [
      {
        "event_date": "2025-01-15",
        "client_version": "0.42.3",
        "user_count": 1,
        "percentage": 1.0
      }
    ],
    "bob@example.com": [
      {
        "event_date": "2025-01-15",
        "client_version": "0.42.2",
        "user_count": 1,
        "percentage": 1.0
      }
    ]
  },
  "pagination": {
    "page": 1,
    "pageSize": 50,
    "totalUsers": 120,
    "totalPages": 3,
    "hasNextPage": true,
    "hasPreviousPage": false
  },
  "params": {
    "metric": "client-versions",
    "teamId": 12345,
    "startDate": "2025-01-01",
    "endDate": "2025-01-31",
    "page": 1,
    "pageSize": 50,
    "userMappings": [
      { "id": "user_abc123", "email": "alice@example.com" },
      { "id": "user_def456", "email": "bob@example.com" }
    ]
  }
}

按用戶劃分的 MCP 採用率

/analytics/by-user/mcp

獲取按用戶彙總並支持分頁的 MCP 工具採用率指標。

參數

startDate string

分析週期的起始日期 (默認:7 天前) 。參見 日期格式

endDate string

分析週期的結束日期 (默認:今天) 。參見 日期格式

page number

頁碼 (從 1 開始) 。默認值:1

pageSize number

每頁用戶數 (默認值:100,最大值:500)

users string

將分頁限定爲特定用戶 (以逗號分隔的電子郵件或用戶 ID,例如 alice@example.com,user_abc123)

curl -X GET "https://api.cursor.com/analytics/by-user/mcp?page=1&pageSize=50" \
  -u YOUR_API_KEY:

響應:

{
  "data": {
    "alice@example.com": [
      {
        "event_date": "2025-01-15",
        "tool_name": "read_file",
        "mcp_server_name": "filesystem",
        "usage": 45
      },
      {
        "event_date": "2025-01-16",
        "tool_name": "read_file",
        "mcp_server_name": "filesystem",
        "usage": 38
      }
    ],
    "bob@example.com": [
      {
        "event_date": "2025-01-15",
        "tool_name": "search_web",
        "mcp_server_name": "brave-search",
        "usage": 23
      }
    ]
  },
  "pagination": {
    "page": 1,
    "pageSize": 50,
    "totalUsers": 120,
    "totalPages": 3,
    "hasNextPage": true,
    "hasPreviousPage": false
  },
  "params": {
    "metric": "mcp",
    "teamId": 12345,
    "startDate": "2025-01-01",
    "endDate": "2025-01-31",
    "page": 1,
    "pageSize": 50,
    "userMappings": [
      { "id": "user_abc123", "email": "alice@example.com" },
      { "id": "user_def456", "email": "bob@example.com" }
    ]
  }
}

按用戶劃分的命令採用率

/analytics/by-user/commands

獲取按用戶彙總、支持分頁的命令採用率指標。

參數

startDate string

分析週期的起始日期 (默認值:7 天前) 。參見 日期格式

endDate string

分析週期的結束日期 (默認值:今日) 。參見 日期格式

page number

頁碼 (從 1 開始) 。默認值:1

pageSize number

每頁用戶數 (默認值:100,最大值:500)

users string

將分頁限定爲特定用戶 (以逗號分隔的電子郵件或用戶 ID,例如 alice@example.com,user_abc123)

curl -X GET "https://api.cursor.com/analytics/by-user/commands?page=1&pageSize=50" \
  -u YOUR_API_KEY:

響應:

{
  "data": {
    "alice@example.com": [
      {
        "event_date": "2025-01-15",
        "command_name": "explain",
        "usage": 12
      },
      {
        "event_date": "2025-01-16",
        "command_name": "explain",
        "usage": 15
      }
    ],
    "bob@example.com": [
      {
        "event_date": "2025-01-15",
        "command_name": "refactor",
        "usage": 8
      }
    ]
  },
  "pagination": {
    "page": 1,
    "pageSize": 50,
    "totalUsers": 120,
    "totalPages": 3,
    "hasNextPage": true,
    "hasPreviousPage": false
  },
  "params": {
    "metric": "commands",
    "teamId": 12345,
    "startDate": "2025-01-01",
    "endDate": "2025-01-31",
    "page": 1,
    "pageSize": 50,
    "userMappings": [
      { "id": "user_abc123", "email": "alice@example.com" },
      { "id": "user_def456", "email": "bob@example.com" }
    ]
  }
}

按用戶劃分的方案採用率

/analytics/by-user/plans

獲取按用戶彙總、支持分頁的 Plan 模式採用率指標。

參數

startDate string

分析時段的起始日期 (默認值:7 天前) 。請參閱 日期格式

endDate string

分析時段的結束日期 (默認值:今日) 。請參閱 日期格式

page number

頁碼 (從 1 開始) 。默認值:1

pageSize number

每頁用戶數 (默認值:100,最大值:500)

users string

將分頁限定爲特定用戶 (以逗號分隔的電子郵件或用戶 ID,例如 alice@example.com,user_abc123)

curl -X GET "https://api.cursor.com/analytics/by-user/plans?page=1&pageSize=50" \
  -u YOUR_API_KEY:

響應:

{
  "data": {
    "alice@example.com": [
      {
        "event_date": "2025-01-15",
        "model": "claude-sonnet-4.5",
        "usage": 23
      },
      {
        "event_date": "2025-01-16",
        "model": "claude-sonnet-4.5",
        "usage": 19
      }
    ],
    "bob@example.com": [
      {
        "event_date": "2025-01-15",
        "model": "gpt-4o",
        "usage": 12
      }
    ]
  },
  "pagination": {
    "page": 1,
    "pageSize": 50,
    "totalUsers": 120,
    "totalPages": 3,
    "hasNextPage": true,
    "hasPreviousPage": false
  },
  "params": {
    "metric": "plans",
    "teamId": 12345,
    "startDate": "2025-01-01",
    "endDate": "2025-01-31",
    "page": 1,
    "pageSize": 50,
    "userMappings": [
      { "id": "user_abc123", "email": "alice@example.com" },
      { "id": "user_def456", "email": "bob@example.com" }
    ]
  }
}

按用戶劃分的技能採用率

/analytics/by-user/skills

獲取按用戶彙總、支持分頁的技能採用率指標。

參數

startDate string

分析週期的起始日期 (默認值:7 天前) 。參見 日期格式

endDate string

分析週期的結束日期 (默認值:今日) 。參見 日期格式

page number

頁碼 (從 1 開始) 。默認值:1

pageSize number

每頁用戶數 (默認值:100,最大值:500)

users string

將分頁限定爲特定用戶 (以逗號分隔的電子郵件或用戶 ID,例如 alice@example.com,user_abc123)

curl -X GET "https://api.cursor.com/analytics/by-user/skills?page=1&pageSize=50" \
  -u YOUR_API_KEY:

響應:

{
  "data": {
    "alice@example.com": [
      {
        "event_date": "2025-01-15",
        "skill_name": "react-best-practices",
        "usage": 8
      },
      {
        "event_date": "2025-01-15",
        "skill_name": "create-rule",
        "usage": 3
      },
      {
        "event_date": "2025-01-16",
        "skill_name": "react-best-practices",
        "usage": 5
      }
    ],
    "bob@example.com": [
      {
        "event_date": "2025-01-15",
        "skill_name": "commit-message-helper",
        "usage": 5
      },
      {
        "event_date": "2025-01-15",
        "skill_name": "create-skill",
        "usage": 2
      }
    ]
  },
  "pagination": {
    "page": 1,
    "pageSize": 50,
    "totalUsers": 120,
    "totalPages": 3,
    "hasNextPage": true,
    "hasPreviousPage": false
  },
  "params": {
    "metric": "skills",
    "teamId": 12345,
    "startDate": "2025-01-01",
    "endDate": "2025-01-31",
    "page": 1,
    "pageSize": 50,
    "userMappings": [
      { "id": "user_abc123", "email": "alice@example.com" },
      { "id": "user_def456", "email": "bob@example.com" }
    ]
  }
}

按用戶劃分的 Ask 模式採用率

/analytics/by-user/ask-mode

獲取按用戶彙總、支持分頁的 Ask 模式採用率指標。

參數

startDate string

分析時段的起始日期 (默認值:7 天前) 。參閱 日期格式

endDate string

分析時段的結束日期 (默認值:今日) 。參閱 日期格式

page number

頁碼 (從 1 開始) 。默認值:1

pageSize number

每頁用戶數 (默認值:100,最大值:500)

users string

將分頁限定爲特定用戶 (以逗號分隔的電子郵件或用戶 ID,例如 alice@example.com,user_abc123)

curl -X GET "https://api.cursor.com/analytics/by-user/ask-mode?page=1&pageSize=50" \
  -u YOUR_API_KEY:

響應:

{
  "data": {
    "alice@example.com": [
      {
        "event_date": "2025-01-15",
        "model": "claude-sonnet-4.5",
        "usage": 34
      },
      {
        "event_date": "2025-01-16",
        "model": "claude-sonnet-4.5",
        "usage": 28
      }
    ],
    "bob@example.com": [
      {
        "event_date": "2025-01-15",
        "model": "gpt-4o",
        "usage": 15
      }
    ]
  },
  "pagination": {
    "page": 1,
    "pageSize": 50,
    "totalUsers": 120,
    "totalPages": 3,
    "hasNextPage": true,
    "hasPreviousPage": false
  },
  "params": {
    "metric": "ask-mode",
    "teamId": 12345,
    "startDate": "2025-01-01",
    "endDate": "2025-01-31",
    "page": 1,
    "pageSize": 50,
    "userMappings": [
      { "id": "user_abc123", "email": "alice@example.com" },
      { "id": "user_def456", "email": "bob@example.com" }
    ]
  }
}

團隊級端點

團隊級端點提供整個團隊或篩選後的用戶子集的彙總指標。所有端點均支持按日期範圍篩選,並可選擇按用戶篩選。

通用查詢參數

參數 類型 必填 描述
startDate 日期 string 分析時段的開始日期 (默認值:7 天前)
endDate 日期 string 分析時段的結束日期 (默認值:今日)
users string 按指定用戶篩選數據 (以逗號分隔) 。每個值可以是電子郵件地址 (例如,alice@example.com) 或公開用戶 ID (例如,user_abc123) 。兩種格式可混用。

用戶篩選:
users 參數接受以逗號分隔的標識符列表。每個標識符可以是:

  • 電子郵件地址 (例如,alice@example.com) - 根據是否包含 @ 自動識別
  • 公開用戶 ID (例如,user_abc123) - 根據 user_ 前綴自動識別
  • 混合格式 - 可在同一請求中同時使用電子郵件地址和 ID

示例:

# 僅按電子郵件篩選
?users=alice@example.com,bob@example.com,carol@example.com

# 僅按公開用戶 ID 篩選
?users=user_abc123,user_def456,user_ghi789

# 混合使用電子郵件和 ID
?users=alice@example.com,user_def456,bob@example.com

按用戶篩選時,API 僅返回指定用戶的數據。適用於:

  • 分析特定團隊成員或羣組 (例如工程負責人、特定項目團隊)
  • 爲部分用戶生成報告
  • 比較所選個人用戶的指標

日期格式

默認行爲:
如果省略 startDateendDate,API 默認返回過去 7 天的數據 (從 7 天前到今日) 。這非常適合無需指定日期的快速查詢。

標準格式:

  • YYYY-MM-DD - 簡單日期格式 (例如 2025-01-15) ← 推薦
  • ISO 8601 時間戳 (例如 2025-01-15T00:00:00Z)

快捷方式:

  • nowtoday - 當前日期 (00:00:00)
  • yesterday - 昨日日期 (00:00:00)
  • <number>d - 若干天前 (例如 7d = 7 天前,30d = 30 天前)

重要說明:

  • 忽略時間:所有日期都會解析到天級別 (00:00:00 UTC) 。發送 2025-01-15T14:30:00Z 與發送 2025-01-15 的效果相同。
  • 使用推薦格式:使用 YYYY-MM-DD 或快捷方式可獲得更好的 HTTP 緩存效果。即使解析爲同一天,不同的時間值 (如 T14:30:00ZT08:00:00Z) 也會導致緩存未命中。
  • 日期範圍:最多 30 天。

示例:

# 省略日期,獲取最近 7 天的數據(最簡單且最利於緩存)
curl "https://api.cursor.com/analytics/team/agent-edits"

# 指定日期範圍時使用 YYYY-MM-DD 格式(推薦)
?startDate=2025-01-01&endDate=2025-01-31

# 使用快捷日期表示最近 30 天
?startDate=30d&endDate=today

# 使用快捷日期表示最近 14 天
?startDate=14d&endDate=now

# ❌ 請勿使用時間戳:會影響緩存,且時間部分本來也會被忽略
?startDate=2025-01-15T14:30:00Z&endDate=2025-01-31T23:59:59Z

速率限制

速率限制按團隊實施,每分鐘重置:

  • 團隊級端點:每個團隊每分鐘 100 次請求
  • 按用戶劃分的端點:每個團隊每分鐘 50 次請求

超出速率限制後會怎樣?

超出速率限制後,您將收到 429 Too Many Requests 響應:

{
  "error": "Too Many Requests",
  "message": "Rate limit exceeded. Please try again later."
}

最佳實踐

有關 API 通用最佳實踐,包括指數退避、緩存策略和錯誤處理,請參閱 API Overview 最佳實踐

  1. 大型團隊使用分頁:如果團隊用戶超過 100 人,請使用支持分頁的按用戶劃分的端點,避免超時。
  2. 利用緩存:團隊級和用戶級端點均支持 ETag。存儲 ETag,並使用 If-None-Match 請求頭,減少不必要的數據傳輸。
  3. 儘可能按用戶篩選:如果只需獲取特定用戶的數據,請使用 users 參數縮短查詢時間。
  4. 日期範圍:爲獲得最佳性能,請將日期範圍控制在合理範圍內 (例如 1–3 個月) 。
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜