《Cursor文檔》-Admin API

Admin API 允許你以編程方式訪問團隊數據,包括成員信息、用量指標、支出明細和模型訪問。

  • Admin API 使用 Basic Authentication,並將你的 API 密鑰作爲用戶名。
  • 有關創建 API 密鑰、認證方式、速率限制和最佳實踐的詳細信息,請參閱 API 概覽

如需執行跨團隊的組織級操作,請參閱 組織Organization API

端點

獲取團隊成員

/teams/members

獲取所有團隊成員及其詳細信息。

響應字段

teamMembers array

團隊成員對象數組,每個對象包含:

  • id string - 團隊成員的編碼用戶 ID (例如 user_PDSPmvukpYgZEDXsoNirw3CFhy)
  • email string - 團隊成員的郵箱地址
  • name string - 團隊成員的顯示名稱
  • role string - 在團隊中的角色 (例如 memberowner)
  • isRemoved boolean - 該成員是否已從團隊中移除
curl -X GET https://api.cursor.com/teams/members \
  -u YOUR_API_KEY:

響應:

{
  "teamMembers": [
    {
      "id": "user_PDSPmvukpYgZEDXsoNirw3CFhy",
      "name": "Alex",
      "email": "developer@company.com",
      "role": "member",
      "isRemoved": false
    },
    {
      "id": "user_kljUvI0ASZORvSEXf9hV0ydcso",
      "name": "Sam",
      "email": "admin@company.com",
      "role": "owner",
      "isRemoved": false
    }
  ]
}

獲取審計日誌

/teams/audit-logs

通過篩選獲取團隊的審計日誌事件,用於跟蹤團隊活動、安全事件和配置變更。每個團隊每分鐘最多 20 次請求。詳見 速率限制和最佳實踐

參數

startTime string | number

開始時間 (默認爲 7 天前) 。參見 日期格式

endTime string | number

結束時間 (默認是當前時間) 。參見 日期格式

eventTypes string

要篩選的事件類型,使用逗號分隔。可能的取值:loginlogoutadd_userremove_userupdate_user_roleteam_settingsmcp_server_configteam_api_keyuser_api_keyprivacy_modeuser_spend_limitteam_ruleteam_repoteam_hookteam_commandcreate_directory_groupdelete_directory_groupupdate_directory_groupupdate_directory_group_permissionsadd_user_to_directory_groupremove_user_from_directory_groupbugbot_installationbugbot_installation_settingsbugbot_repo_settingsbugbot_team_rulebugbot_team_settingsbugbot_bulk_repo_update

search string

用於篩選事件的搜索詞

page number

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

pageSize number

每頁結果數 (1-500) 。默認值:100

users string

按用戶篩選。參見下方的 用戶篩選

日期範圍不能超過 30 天。更長時間段請拆分爲多次請求。

日期格式

startTimeendTime 參數支持多種格式:

  • 相對快捷方式nowtodayyesterday7d (7 天前) 、5h (5 小時前) 、300s (300 秒前)
  • ISO 8601 字符串2024-01-15T12:00:00Z2024-01-15T10:00:00-05:00
  • YYYY-MM-DD 格式2024-01-15 (時間默認爲 00:00:00 UTC)
  • Unix 時間戳1705315200 (秒) 或 1705315200000 (毫秒)

示例:

  • ?startTime=7d&endTime=now - 最近 7 天
  • ?startTime=5h&endTime=now - 最近 5 小時
  • ?startTime=2024-01-15&endTime=2024-01-20 - 指定日期範圍
  • ?startTime=1705315200000&endTime=1705401600000 - Unix 時間戳

用戶篩選

users 參數支持多種格式,使用逗號分隔:

  • 郵箱地址: developer@company.com,admin@company.com
  • 編碼用戶 ID: user_PDSPmvukpYgZEDXsoNirw3CFhy,user_kljUvI0ASZORvSEXf9hV0ydcso

你可以混合使用這些格式:developer@company.com,12345,user_PDSPmvukpYgZEDXsoNirw3CFhy

每次請求的最大用戶數等於 pageSize

curl -X GET "https://api.cursor.com/teams/audit-logs?users=admin@company.com,developer@company.com&eventTypes=login,add_user" \
  -u YOUR_API_KEY:

響應:

{
  "events": [
    {
      "event_id": "evt_abc123",
      "timestamp": "2024-01-15T12:30:00.000Z",
      "ip_address": "203.0.113.42",
      "user_email": "admin@company.com",
      "event_type": "add_user",
      "event_data": {
        "email": "admin@company.com",
        "method": "manual"
      }
    },
    {
      "event_id": "evt_def456",
      "timestamp": "2024-01-15T10:15:00.000Z",
      "ip_address": "192.168.1.1",
      "user_email": "developer@company.com",
      "event_type": "login",
      "event_data": {
        "ip_address": "192.168.1.1",
        "user_agent": "Cursor/0.42.0"
      }
    }
  ],
  "pagination": {
    "page": 1,
    "pageSize": 100,
    "totalCount": 2,
    "totalPages": 1,
    "hasNextPage": false,
    "hasPreviousPage": false
  },
  "params": {
    "teamId": 12345,
    "startDate": 1704729600000,
    "endDate": 1705334400000
  }
}

獲取每日使用情況數據

/teams/daily-usage-data

獲取團隊的每日用量指標。數據按小時彙總,建議對此端點每小時最多輪詢一次。每個團隊每分鐘最多可發送 20 個請求。請參閱最佳實踐

參數

startDate 數值 必填

開始日期 (自紀元起的毫秒數)

endDate number 必填

結束日期 (Unix 紀元毫秒數)

page number

頁碼 (從 1 開始) 。與 pageSize 同時提供時,將啓用分頁,並返回在所請求日期範圍內具有成員資格的所有團隊成員的數據。

pageSize number

每頁用戶數。與 page 一同提供時,將啓用分頁,並返回在所請求日期範圍內具有成員資格的所有團隊成員的數據。

未指定分頁參數時,此端點僅返回活躍用戶 (即在該日期範圍內有活動的用戶) 。要獲取所有團隊成員,請同時提供 pagepageSize 參數。

使用分頁時,響應會爲每位用戶返回一個 isActive 字段,用於指示該用戶當天是否有活動。請求時間段結束後才加入的成員不包括在內。

日期範圍不能超過 30 天。如需查詢更長時段,請分多次請求。

字段 subscriptionIncludedReqsusageBasedReqsapiKeyReqs 統計的是原始使用事件,而非較早的基於請求的定價模式中的可計費請求單位。要獲取準確的可計費請求數量,請使用 /teams/filtered-usage-events 端點,並對 requestsCosts 字段求和。

響應字段

data 數組中的每個對象包含:

  • userId number - 用戶的唯一標識符
  • day string - 此記錄所涵蓋的日期 (ISO 日期,例如 2024-03-18)
  • date number - 以紀元毫秒爲單位的日期
  • email string - 用戶的電子郵件地址
  • isActive 布爾值 - 用戶當天是否有活動 (僅在分頁時提供)
  • totalLinesAdded number - 新增代碼行總數
  • totalLinesDeleted number - 刪除的代碼行總數
  • acceptedLinesAdded number - 已接受的 AI 建議新增行數
  • acceptedLinesDeleted number - 已接受的 AI 建議刪除行數
  • totalApplies number - 應用 AI 代碼的操作總數
  • totalAccepts number - 已接受的 AI 建議總數
  • totalRejects number - 被拒絕的 AI 建議總數
  • totalTabsShown number - 向用戶展示的 Tab 補全總數
  • totalTabsAccepted number - 用戶接受的 Tab 補全數量
  • composerRequests number - 發起的 Composer 請求數
  • chatRequests number - 發起的 chat 請求數量
  • agentRequests number - 發起的 Agent 模式請求數
  • cmdkUsages number - Cmd+K 內聯編輯的使用次數
  • subscriptionIncludedReqs number - 訂閱方案包含的請求數
  • apiKeyReqs number - 通過 API 密鑰發起的請求數
  • usageBasedReqs number - 按用量計費的 (超額) 請求數
  • bugbotUsages number - Bugbot 使用次數
  • mostUsedModel string | null - 當天使用頻率最高的 AI 模型
  • applyMostUsedExtension string | null - 應用操作最常用的文件擴展名
  • tabMostUsedExtension string | null - Tab 補全最常用的文件擴展名
  • clientVersion string | null - 所使用的 Cursor 客戶端版本
# 僅獲取活躍用戶的數據(不分頁)
curl -X POST https://api.cursor.com/teams/daily-usage-data \
  -u YOUR_API_KEY: \
  -H "Content-Type: application/json" \
  -d '{
    "startDate": 1710720000000,
    "endDate": 1710892800000
  }'

# 獲取所有團隊成員的數據(分頁)
curl -X POST https://api.cursor.com/teams/daily-usage-data \
  -u YOUR_API_KEY: \
  -H "Content-Type: application/json" \
  -d '{
    "startDate": 1710720000000,
    "endDate": 1710892800000,
    "page": 1,
    "pageSize": 1000
  }'

響應 (不分頁,僅限活躍用戶) :

{
  "data": [
    {
      "userId": 12345,
      "day": "2024-03-18",
      "date": 1710720000000,
      "isActive": true,
      "totalLinesAdded": 1543,
      "totalLinesDeleted": 892,
      "acceptedLinesAdded": 1102,
      "acceptedLinesDeleted": 645,
      "totalApplies": 87,
      "totalAccepts": 73,
      "totalRejects": 14,
      "totalTabsShown": 342,
      "totalTabsAccepted": 289,
      "composerRequests": 45,
      "chatRequests": 128,
      "agentRequests": 12,
      "cmdkUsages": 67,
      "subscriptionIncludedReqs": 180,
      "apiKeyReqs": 0,
      "usageBasedReqs": 5,
      "bugbotUsages": 3,
      "mostUsedModel": "gpt-5",
      "applyMostUsedExtension": ".tsx",
      "tabMostUsedExtension": ".ts",
      "clientVersion": "0.25.1",
      "email": "developer@company.com"
    }
  ],
  "period": {
    "startDate": 1710720000000,
    "endDate": 1710892800000
  }
}

響應 (含分頁——所有團隊成員) :

{
  "data": [
    {
      "userId": 12345,
      "day": "2024-03-18",
      "date": 1710720000000,
      "isActive": true,
      "totalLinesAdded": 1543,
      "totalLinesDeleted": 892,
      "acceptedLinesAdded": 1102,
      "acceptedLinesDeleted": 645,
      "totalApplies": 87,
      "totalAccepts": 73,
      "totalRejects": 14,
      "totalTabsShown": 342,
      "totalTabsAccepted": 289,
      "composerRequests": 45,
      "chatRequests": 128,
      "agentRequests": 12,
      "cmdkUsages": 67,
      "subscriptionIncludedReqs": 180,
      "apiKeyReqs": 0,
      "usageBasedReqs": 5,
      "bugbotUsages": 3,
      "mostUsedModel": "gpt-5",
      "applyMostUsedExtension": ".tsx",
      "tabMostUsedExtension": ".ts",
      "clientVersion": "0.25.1",
      "email": "developer@company.com"
    },
    {
      "userId": 12346,
      "day": "2024-03-18",
      "date": 1710720000000,
      "isActive": false,
      "totalLinesAdded": 0,
      "totalLinesDeleted": 0,
      "acceptedLinesAdded": 0,
      "acceptedLinesDeleted": 0,
      "totalApplies": 0,
      "totalAccepts": 0,
      "totalRejects": 0,
      "totalTabsShown": 0,
      "totalTabsAccepted": 0,
      "composerRequests": 0,
      "chatRequests": 0,
      "agentRequests": 0,
      "cmdkUsages": 0,
      "subscriptionIncludedReqs": 0,
      "apiKeyReqs": 0,
      "usageBasedReqs": 0,
      "bugbotUsages": 0,
      "mostUsedModel": null,
      "applyMostUsedExtension": null,
      "tabMostUsedExtension": null,
      "clientVersion": null,
      "email": "inactive-user@company.com"
    }
  ],
  "period": {
    "startDate": 1710720000000,
    "endDate": 1710892800000
  },
  "pagination": {
    "page": 1,
    "pageSize": 1000,
    "totalUsers": 150,
    "totalPages": 1,
    "hasNextPage": false,
    "hasPreviousPage": false
  }
}

獲取支出數據

/teams/spend

獲取當前計費週期的支出數據,支持搜索、排序和分頁。

參數

searchTerm string

在用戶姓名和郵箱地址中搜索

sortBy string

排序字段:amountdateuser。默認值:date

sortDirection string

排序方向:ascdesc。默認值:desc

page number

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

pageSize number

每頁返回的結果數量

響應字段

teamMemberSpend 中的每個對象包含:

  • userId string - 編碼後的用戶 ID (例如:user_PDSPmvukpYgZEDXsoNirw3CFhy) 。與 /teams/members 中的 teamMembers[].id 使用相同的標識符命名空間。
  • name string - 用戶顯示名稱
  • email string - 用戶郵箱地址
  • role string - 在團隊中的角色 (例如:memberowner)
  • spendCents number - 當前計費週期內按需支出金額 (單位:美分),不包括包含的用量
  • overallSpendCents number - 當前計費週期內的總支出金額 (單位:美分),包括按需用量和包含的用量
  • fastPremiumRequests number - 該計費週期內按用量計費的高級請求次數
  • hardLimitOverrideDollars number - 爲該用戶設置的自定義硬性支出上限覆蓋值 (單位:美元,0 表示不覆蓋)
  • monthlyLimitDollars number | null - 爲該用戶設置的每月支出上限 (單位:美元),若未設置上限則爲 null
  • effectivePerUserLimitDollars number - 當前生效的按用戶支出上限 (單位:美元),由 monthlyLimitDollarshardLimitOverrideDollars 推導得出

2026 年 6 月 4 日,我們爲 spendCents 和 overallSpendCents 字段增加了額外精度,以避免在將結果與發票金額比較時出現舍入誤差。

curl -X POST https://api.cursor.com/teams/spend \
  -u YOUR_API_KEY: \
  -H "Content-Type: application/json" \
  -d '{
    "searchTerm": "alex@company.com",
    "page": 2,
    "pageSize": 25
  }'

響應:

{
  "teamMemberSpend": [
    {
      "userId": "user_PDSPmvukpYgZEDXsoNirw3CFhy",
      "spendCents": 2450.125487,
      "overallSpendCents": 2450.125487,
      "fastPremiumRequests": 1250,
      "name": "Alex",
      "email": "developer@company.com",
      "role": "member",
      "hardLimitOverrideDollars": 100,
      "monthlyLimitDollars": 200,
      "effectivePerUserLimitDollars": 100
    },
    {
      "userId": "user_kljUvI0ASZORvSEXf9hV0ydcso",
      "spendCents": 1875.500123,
      "overallSpendCents": 3200.750456,
      "fastPremiumRequests": 980,
      "name": "Sam",
      "email": "admin@company.com",
      "role": "owner",
      "hardLimitOverrideDollars": 0,
      "monthlyLimitDollars": null,
      "effectivePerUserLimitDollars": 50
    }
  ],
  "subscriptionCycleStart": 1708992000000,
  "totalMembers": 15,
  "totalPages": 1
}

獲取使用事件數據

/teams/filtered-usage-events

爲你的團隊檢索帶有篩選、搜索和分頁選項的詳細使用事件。此端點可提供對 API 調用、模型使用、令牌消耗和費用的細緻洞察。數據按小時彙總。我們建議最多每小時輪詢此端點一次。每個團隊的速率限制爲每分鐘 60 次請求。參見 API 指南

成本計算:要將事件級成本與 /teams/spend 總計對齊,請彙總所有事件的 chargedCents 字段。此字段包含模型費用和 Cursor Token 費率 (在請求適用該費率時) ,與儀表盤總計一致。它適用於按 token 和按請求計費的方案。

cursorTokenFee 字段表示 Cursor Token 費率,且僅在該費率適用於第三方模型請求時纔會出現。這包括 Auto 將請求路由至第三方模型的情況。Cursor 的一方模型 (如 Grok 和 Composer) 以及按請求計費的企業版賬戶均不包含此費用。參見 Cursor Token 費率

參數

startDate number

起始時間 (紀元毫秒) 。此邊界爲包含邊界。

endDate number

結束時間 (epoch 毫秒) 。此界限包含在內。

startDateendDate 是精確到毫秒的時間點,並且
兩個邊界都包含在內。恰好發生在 2026-05-08T00:00:00.000Z 的事件,
endDate1778198400000 時也會被包含在內。對於不重疊的每日
攝取時間窗口,請將前一個窗口的 endDate 設爲當天最後一
毫秒,例如 2026-05-07T23:59:59.999Z

userId number

按指定用戶 ID 篩選

page number

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

pageSize number

每頁結果數量。默認:100。最大值:1000

email string

按用戶郵箱地址篩選

serviceAccountId string

按服務賬戶 ID 過濾

cloudAgentId string

按指定的雲代理運行 ID 過濾。傳入 * 可返回來自所有云代理運行的事件。

automationId string

按指定自動化 UUID 過濾。傳入 * 可返回所有自動化的事件。

hostingType string

按執行地點篩選雲端代理 (後臺代理) 的運行。使用此選項可將自託管代理的推理開支與 Cursor 託管的運行區分開來。可接受的值:

  • CLOUD - Cursor 託管的運行
  • SELF_HOSTED - 任何自託管運行 (自託管用量池 worker 或個人 “My Machine” worker)
  • SELF_HOSTED_POOL - 僅限團隊自託管用量池 worker
  • SELF_HOSTED_MACHINE - 僅限個人 “My Machine” worker

無法識別的 hostingType 值會返回 400 錯誤,而不是空結果,因此不會把拼寫錯誤誤當成自託管支出確實爲零。此過濾器僅涵蓋推理支出;自託管計算在你自己的機器上運行,且永遠不會由 Cursor 計量。

當你傳入多個篩選條件時,此端點會使用 AND 將它們組合。例如,同時傳入 automationIdserviceAccountId 時,將返回同時匹配這兩個值的事件。

響應字段

usageEvents 中的每個對象包含:

  • timestamp string - 事件時間戳 (epoch 毫秒,以字符串形式表示)
  • userEmail string - 發出該請求的用戶郵箱地址
  • serviceAccountId string | undefined - 發出該請求的服務賬戶 ID。對於由人工用戶發起的事件,此字段會被省略。
  • serviceAccountName string | undefined - 發出該請求的服務賬戶顯示名稱。人工用戶事件中會省略此字段。
  • cloudAgentId string | undefined - 與此事件關聯的雲端代理運行 ID。對於雲端代理之外的事件,會省略此字段。
  • automationId string | undefined - 與此事件關聯的自動化 UUID。自動化之外的事件中會省略此字段。
  • conversationId string | undefined - 生成此事件的對話 (智能體會話) ID。可用它將費用歸因於某個會話,或作爲與其他提供對話 ID 的來源 (如 AI Code Tracking API) 進行關聯的鍵。未關聯對話的事件會省略此字段。
  • model string - 用於該請求的 AI 模型
  • kind string - 計費類別 (例如 Usage-basedIncluded in Business)
  • maxMode boolean - 請求是否使用 Max 模式
  • requestsCosts number - 按請求單位計算的成本
  • isTokenBasedCall boolean - 請求是否按 token 用量計費
  • isChargeable boolean - 此事件是否計費
  • isHeadless boolean - 此請求是否在沒有連接客戶端的情況下發出 (例如後臺 Agent)
  • tokenUsage object | undefined - Token 使用明細 (當 isTokenBasedCalltrue 時存在) :
  • inputTokens number - 消耗的輸入 token 數
  • outputTokens number - 生成的輸出 token 數
  • cacheWriteTokens number - 寫入緩存的 token 數
  • cacheReadTokens number - 從緩存讀取的 token 數
  • totalCents number - 模型總費用 (美分)
  • discountPercentOff number | undefined - 已應用的折扣百分比 (如有)
  • chargedCents number - 此事件實際收取的總金額 (單位:美分)。對於適用 Cursor Token 費率的第三方模型請求,此金額包含模型費用以及 Cursor Token 費率。使用此字段可將事件級成本與 /teams/spend 總計對齊。適用於按 token 和按請求計費的方案。
  • cursorTokenFee number | undefined - Cursor Token 費率 (單位:美分)。僅當該費率適用於第三方模型請求時出現 (包括 Auto 路由到第三方模型時) 。
curl -X POST https://api.cursor.com/teams/filtered-usage-events \
  -u YOUR_API_KEY: \
  -H "Content-Type: application/json" \
  -d '{
    "startDate": 1748411762359,
    "endDate": 1751003762359,
    "email": "developer@company.com",
    "page": 1,
    "pageSize": 25
  }'

響應:

{
  "totalUsageEventsCount": 113,
  "pagination": {
    "numPages": 5,
    "currentPage": 1,
    "pageSize": 25,
    "hasNextPage": true,
    "hasPreviousPage": false
  },
  "usageEvents": [
    {
      "timestamp": "1750979225854",
      "userEmail": "developer@company.com",
      "conversationId": "8f2e4a1b-6c3d-4e5f-9a7b-2d1c8e6f4a3b",
      "model": "claude-4.5-sonnet",
      "kind": "Usage-based",
      "maxMode": true,
      "requestsCosts": 5,
      "isTokenBasedCall": true,
      "isChargeable": true,
      "isHeadless": false,
      "tokenUsage": {
        "inputTokens": 126,
        "outputTokens": 450,
        "cacheWriteTokens": 6112,
        "cacheReadTokens": 11964,
        "totalCents": 20.18232
      },
      "chargedCents": 21.36232,
      "cursorTokenFee": 1.18
    },
    {
      "timestamp": "1750979173824",
      "userEmail": "developer@company.com",
      "conversationId": "8f2e4a1b-6c3d-4e5f-9a7b-2d1c8e6f4a3b",
      "model": "claude-4.5-sonnet",
      "kind": "Usage-based",
      "maxMode": true,
      "requestsCosts": 10,
      "isTokenBasedCall": true,
      "isChargeable": true,
      "isHeadless": false,
      "tokenUsage": {
        "inputTokens": 5805,
        "outputTokens": 311,
        "cacheWriteTokens": 11964,
        "cacheReadTokens": 0,
        "totalCents": 40.167,
        "discountPercentOff": 10
      },
      "chargedCents": 37.33,
      "cursorTokenFee": 1.18
    },
    {
      "timestamp": "1750978339901",
      "userEmail": "admin@company.com",
      "model": "claude-4-sonnet-thinking",
      "kind": "Included in Business",
      "maxMode": true,
      "requestsCosts": 1.4,
      "isTokenBasedCall": false,
      "isChargeable": false,
      "isHeadless": false,
      "chargedCents": 8
    }
  ],
  "period": {
    "startDate": 1748411762359,
    "endDate": 1751003762359
  }
}

服務賬戶使用示例:

curl -X POST https://api.cursor.com/teams/filtered-usage-events \
  -u YOUR_API_KEY: \
  -H "Content-Type: application/json" \
  -d '{
    "startDate": 1748411762359,
    "endDate": 1751003762359,
    "serviceAccountId": "sa_abc123",
    "page": 1,
    "pageSize": 10
  }'

服務賬戶響應:

{
  "totalUsageEventsCount": 1,
  "pagination": {
    "numPages": 1,
    "currentPage": 1,
    "pageSize": 10,
    "hasNextPage": false,
    "hasPreviousPage": false
  },
  "usageEvents": [
    {
      "timestamp": "1750979225854",
      "userEmail": "agent-runner@company.com",
      "serviceAccountId": "sa_abc123",
      "serviceAccountName": "Nightly CI Agent",
      "conversationId": "3b9d7c2e-1f4a-4b8c-a6d5-e9f0a2b4c6d8",
      "model": "claude-4.5-sonnet",
      "kind": "Usage-based",
      "maxMode": true,
      "requestsCosts": 5,
      "isTokenBasedCall": true,
      "isChargeable": true,
      "isHeadless": true,
      "tokenUsage": {
        "inputTokens": 126,
        "outputTokens": 450,
        "cacheWriteTokens": 6112,
        "cacheReadTokens": 11964,
        "totalCents": 20.18232
      },
      "chargedCents": 21.36232,
      "cursorTokenFee": 1.18
    }
  ],
  "period": {
    "startDate": 1748411762359,
    "endDate": 1751003762359
  }
}

自動化使用示例:

使用自動化 UUID 獲取其使用事件。自動化歸因適用於以用戶或服務賬戶身份運行的自動化。

curl -X POST https://api.cursor.com/teams/filtered-usage-events \
  -u YOUR_API_KEY: \
  -H "Content-Type: application/json" \
  -d '{
    "startDate": 1748411762359,
    "endDate": 1751003762359,
    "automationId": "7fc64f90-6d7a-4a5d-91b1-bd1f529a85dd",
    "page": 1,
    "pageSize": 100
  }'

每個匹配的事件都包含其 automationIdcloudAgentId。對所有事件的 chargedCents 求和,即可計算該自動化的總費用。

自託管代理支出示例:

curl -X POST https://api.cursor.com/teams/filtered-usage-events \
  -u YOUR_API_KEY: \
  -H "Content-Type: application/json" \
  -d '{
    "startDate": 1748411762359,
    "endDate": 1751003762359,
    "hostingType": "SELF_HOSTED",
    "page": 1,
    "pageSize": 10
  }'

設置用戶支出上限

/teams/user-spend-limit

爲團隊中的單個成員設置支出上限。這樣可以控制每個用戶在團隊內 AI 使用產生的費用。每個團隊速率限制爲每分鐘 250 次請求。參見 速率限制

參數

userEmail string 必填

團隊成員的郵箱地址

spendLimitDollars number | null 必填

以美元計的支出上限 (僅允許整數,不含小數) 。設置爲 null 可移除該上限。

  • 可用性:僅限 Enterprise 版本
  • 用戶必須已經是你團隊的成員
  • 僅接受整數值 (不允許小數金額)
  • 設置 spendLimitDollars 爲 0 會將上限設爲 $0
  • 設置 spendLimitDollarsnull 會完全清除/移除該上限
curl -X POST https://api.cursor.com/teams/user-spend-limit \
  -u YOUR_API_KEY: \
  -H "Content-Type: application/json" \
  -d '{
    "userEmail": "developer@company.com",
    "spendLimitDollars": 100
  }'

成功響應:

{
  "outcome": "success",
  "message": "Spend limit set to $100 for user developer@company.com"
}

錯誤響應:

{
  "outcome": "error",
  "message": "Invalid email format"
}

移除團隊成員

/teams/remove-member

通過 API 從團隊中移除成員。適用於自動化離職流程或與 HR 系統集成。每個團隊的請求頻率限制爲每分鐘 50 次。參見 速率限制

參數

userId string

編碼的用戶 ID (例如:user_PDSPmvukpYgZEDXsoNirw3CFhy) 。當未提供 email 時必填。

email string

團隊成員的郵箱地址。當未提供 userId 時必填。

  • 可用性:僅限企業版
  • 僅提供 userIdemail 其中之一,不要同時提供
  • 移除後團隊中至少需要保留一名付費成員
  • 移除後團隊中至少需要保留一名管理員 (owner 或 free-owner)
curl -X POST https://api.cursor.com/teams/remove-member \
  -u YOUR_API_KEY: \
  -H "Content-Type: application/json" \
  -d '{
    "email": "developer@company.com"
  }'

響應:

{
  "success": true,
  "userId": "user_PDSPmvukpYgZEDXsoNirw3CFhy",
  "hasBillingCycleUsage": true
}

通過 user ID 移除:

curl -X POST https://api.cursor.com/teams/remove-member \
  -u YOUR_API_KEY: \
  -H "Content-Type: application/json" \
  -d '{
    "userId": "user_PDSPmvukpYgZEDXsoNirw3CFhy"
  }'

錯誤響應:

{
  "error": "User is not a member of this team"
}
{
  "error": "Either userId or email must be provided"
}
{
  "error": "Only one of userId or email should be provided, not both"
}

獲取團隊倉庫屏蔽列表

/settings/repo-blocklists/repos

獲取爲團隊配置的所有倉庫屏蔽列表。添加倉庫並使用模式,防止文件或目錄被索引或用作上下文。

模式示例

常見的屏蔽列表模式:

  • * - 屏蔽整個倉庫
  • *.env - 屏蔽所有 .env 文件
  • config/* - 屏蔽 config 目錄中的所有文件
  • **/*.secret - 屏蔽任何子目錄中的所有 .secret 文件
  • src/api/keys.ts - 屏蔽特定文件
curl -X GET https://api.cursor.com/settings/repo-blocklists/repos \
  -u YOUR_API_KEY:

響應:

{
  "repos": [
    {
      "id": "repo_123",
      "url": "https://github.com/company/sensitive-repo",
      "patterns": ["*.env", "config/*", "secrets/**"]
    },
    {
      "id": "repo_456",
      "url": "https://github.com/company/internal-tools",
      "patterns": ["*"]
    }
  ]
}

新增或更新代碼倉庫屏蔽列表

/settings/repo-blocklists/repos/upsert

替換指定代碼倉庫現有的屏蔽列表。此端點只會覆蓋所提供代碼倉庫的匹配模式,其他倉庫不會受到影響。

參數

repos array 必填

代碼倉庫屏蔽列表對象數組。每個代碼倉庫對象必須包含:

  • url string - 要加入屏蔽列表的代碼倉庫 URL
  • patterns string[] - 要屏蔽的文件模式數組 (支持 glob 模式)
curl -X POST https://api.cursor.com/settings/repo-blocklists/repos/upsert \
  -u YOUR_API_KEY: \
  -H "Content-Type: application/json" \
  -d '{
    "repos": [
      {
        "url": "https://github.com/company/sensitive-repo",
        "patterns": ["*.env", "config/*", "secrets/**"]
      },
      {
        "url": "https://github.com/company/internal-tools",
        "patterns": ["*"]
      }
    ]
  }'

響應:

{
  "repos": [
    {
      "id": "repo_123",
      "url": "https://github.com/company/sensitive-repo",
      "patterns": ["*.env", "config/*", "secrets/**"]
    },
    {
      "id": "repo_456",
      "url": "https://github.com/company/internal-tools",
      "patterns": ["*"]
    }
  ]
}

刪除代碼倉庫屏蔽列表

/settings/repo-blocklists/repos/:repoId

從屏蔽列表中移除指定代碼倉庫。刪除成功時返回 204 No Content。

參數

repoId string 必填

要刪除的代碼倉庫屏蔽列表 ID

curl -X DELETE https://api.cursor.com/settings/repo-blocklists/repos/repo_123 \
  -u YOUR_API_KEY:

響應:

204 No Content

計費分組

計費分組 允許 Enterprise 管理員按用戶分組瞭解和管理支出。此功能適用於報表、內部費用分攤和預算管理。

成員在同一時間只能屬於一個計費分組。未分配到任何分組的成員會被放入預留的 Unassigned 分組中。

列出分組

/teams/groups

獲取團隊中所有計費分組,以及當前計費週期的支出數據。

參數

billingCycle string

ISO 日期字符串 (例如 2025-01-15) ,用於指定要查詢的計費週期。默認爲當前週期。

curl -X GET "https://api.cursor.com/teams/groups?billingCycle=2025-01-15" \
  -u YOUR_API_KEY:

響應:

{
  "groups": [
    {
      "id": "group_PDSPmvukpYgZEDXsoNirw3CFhy",
      "name": "Engineering",
      "type": "BILLING",
      "directoryGroupId": null,
      "memberCount": 12,
      "createdAt": "2024-01-15T10:30:00.000Z",
      "updatedAt": "2024-01-20T14:22:00.000Z",
      "spendCents": 245000,
      "currentMembers": [
        {
          "userId": "user_abc123",
          "name": "Alex Developer",
          "email": "alex@company.com",
          "joinedAt": "2024-01-15T10:30:00.000Z",
          "leftAt": null,
          "spendCents": 12500
        }
      ],
      "formerMembers": [],
      "dailySpend": [
        { "date": "2025-01-15", "spendCents": 8500 },
        { "date": "2025-01-16", "spendCents": 9200 }
      ]
    },
    {
      "id": "group_kljUvI0ASZORvSEXf9hV0ydcso",
      "name": "Design",
      "type": "BILLING",
      "directoryGroupId": "dir_group_abc123xyz",
      "memberCount": 5,
      "createdAt": "2024-01-16T09:00:00.000Z",
      "updatedAt": "2024-01-16T09:00:00.000Z",
      "spendCents": 87500,
      "currentMembers": [],
      "formerMembers": [],
      "dailySpend": []
    }
  ],
  "unassignedGroup": {
    "id": "group_unassigned",
    "name": "Unassigned",
    "type": "BILLING",
    "directoryGroupId": null,
    "memberCount": 3,
    "createdAt": "2024-01-01T00:00:00.000Z",
    "updatedAt": "2024-01-01T00:00:00.000Z",
    "spendCents": 15000,
    "currentMembers": [],
    "formerMembers": [],
    "dailySpend": []
  },
  "billingCycle": {
    "cycleStart": "2025-01-01T00:00:00.000Z",
    "cycleEnd": "2025-02-01T00:00:00.000Z"
  }
}

獲取分組

/teams/groups/:groupId

獲取單個計費分組,以及其成員和當前計費週期的消費數據。

參數

groupId string 必填

編碼後的分組 ID (例如 group_PDSPmvukpYgZEDXsoNirw3CFhy)

billingCycle string

ISO 日期字符串 (例如 2025-01-15) ,用於指定要查詢的計費週期。默認爲當前週期。

curl -X GET "https://api.cursor.com/teams/groups/group_PDSPmvukpYgZEDXsoNirw3CFhy?billingCycle=2025-01-15" \
  -u YOUR_API_KEY:

響應:

{
  "group": {
    "id": "group_PDSPmvukpYgZEDXsoNirw3CFhy",
    "name": "Engineering",
    "type": "BILLING",
    "directoryGroupId": null,
    "memberCount": 3,
    "createdAt": "2024-01-15T10:30:00.000Z",
    "updatedAt": "2024-01-20T14:22:00.000Z",
    "spendCents": 125000,
    "currentMembers": [
      {
        "userId": "user_abc123",
        "name": "Alex Developer",
        "email": "alex@company.com",
        "joinedAt": "2024-01-15T10:30:00.000Z",
        "leftAt": null,
        "spendCents": 75000,
        "dailySpend": [
          { "date": "2025-01-15", "spendCents": 5000 },
          { "date": "2025-01-16", "spendCents": 7500 }
        ]
      },
      {
        "userId": "user_def456",
        "name": "Sam Engineer",
        "email": "sam@company.com",
        "joinedAt": "2024-01-16T09:15:00.000Z",
        "leftAt": null,
        "spendCents": 50000,
        "dailySpend": [
          { "date": "2025-01-15", "spendCents": 3500 },
          { "date": "2025-01-16", "spendCents": 4200 }
        ]
      }
    ],
    "formerMembers": [
      {
        "userId": "user_xyz789",
        "name": "Former Member",
        "email": "former@company.com",
        "joinedAt": "2024-01-10T08:00:00.000Z",
        "leftAt": "2024-01-14T17:00:00.000Z",
        "spendCents": 0
      }
    ],
    "dailySpend": [
      { "date": "2025-01-15", "spendCents": 8500 },
      { "date": "2025-01-16", "spendCents": 11700 }
    ]
  },
  "billingCycle": {
    "cycleStart": "2025-01-01T00:00:00.000Z",
    "cycleEnd": "2025-02-01T00:00:00.000Z"
  }
}

創建分組

/teams/groups

創建一個新的計費分組。每個團隊每分鐘最多 20 個請求。

參數

name string 必填

分組名稱

type string

分組類型。目前僅支持 BILLING。默認值:BILLING

curl -X POST https://api.cursor.com/teams/groups \
  -u YOUR_API_KEY: \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Engineering"
  }'

響應:

{
  "group": {
    "id": "group_PDSPmvukpYgZEDXsoNirw3CFhy",
    "name": "Engineering",
    "type": "BILLING",
    "directoryGroupId": null,
    "memberCount": 0,
    "createdAt": "2024-01-15T10:30:00.000Z",
    "updatedAt": "2024-01-15T10:30:00.000Z",
    "members": []
  }
}

更新分組

/teams/groups/:groupId

更新計費分組的名稱或目錄分組關聯。每個團隊每分鐘最多 20 個請求。

每次請求只能更新一個字段。若需要同時更新名稱和目錄關聯,請分別發起請求。

參數

groupId string 必填

編碼後的分組 ID

name string

分組的新名稱

directoryGroupId string | null

要同步的目錄分組 ID,或設爲 null 以取消目錄同步

curl -X PATCH https://api.cursor.com/teams/groups/group_PDSPmvukpYgZEDXsoNirw3CFhy \
  -u YOUR_API_KEY: \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Platform Engineering"
  }'

響應:

{
  "group": {
    "id": "group_PDSPmvukpYgZEDXsoNirw3CFhy",
    "name": "Platform Engineering",
    "type": "BILLING",
    "directoryGroupId": null,
    "memberCount": 3,
    "createdAt": "2024-01-15T10:30:00.000Z",
    "updatedAt": "2024-01-25T16:45:00.000Z",
    "members": [
      {
        "userId": "user_abc123",
        "name": "Alex Developer",
        "email": "alex@company.com",
        "joinedAt": "2024-01-15T10:30:00.000Z"
      }
    ]
  }
}

刪除分組

/teams/groups/:groupId

刪除一個計費分組。成功時返回 204 No Content。每個團隊每分鐘最多 20 個請求。

刪除計費分組是破壞性操作;數據無法恢復。被刪除分組的所有歷史用量都會被追溯性地重新分配到 Unassigned 分組。

參數

groupId string 必填

要刪除的編碼後的分組 ID

curl -X DELETE https://api.cursor.com/teams/groups/group_PDSPmvukpYgZEDXsoNirw3CFhy \
  -u YOUR_API_KEY:

響應:

204 No Content

向分組添加成員

/teams/groups/:groupId/members

向計費分組添加團隊成員。用戶必須已是你團隊的成員,且當前未分配到其他分組。每個團隊每分鐘最多 20 個請求。

與 SCIM 同步的計費分組無法通過 API 修改。所有此類分組的成員分配都必須通過 SCIM 進行管理。

參數

groupId string 必填

編碼後的分組 ID

userIds string[] 必填

要添加的編碼後用戶 ID 數組 (例如 ["user_abc123", "user_def456"])

curl -X POST https://api.cursor.com/teams/groups/group_PDSPmvukpYgZEDXsoNirw3CFhy/members \
  -u YOUR_API_KEY: \
  -H "Content-Type: application/json" \
  -d '{
    "userIds": ["user_abc123", "user_def456"]
  }'

響應:

{
  "group": {
    "id": "group_PDSPmvukpYgZEDXsoNirw3CFhy",
    "name": "Engineering",
    "type": "BILLING",
    "directoryGroupId": null,
    "memberCount": 2,
    "createdAt": "2024-01-15T10:30:00.000Z",
    "updatedAt": "2024-01-25T16:50:00.000Z",
    "members": [
      {
        "userId": "user_abc123",
        "name": "Alex Developer",
        "email": "alex@company.com",
        "joinedAt": "2024-01-25T16:50:00.000Z"
      },
      {
        "userId": "user_def456",
        "name": "Sam Engineer",
        "email": "sam@company.com",
        "joinedAt": "2024-01-25T16:50:00.000Z"
      }
    ]
  }
}

從分組中移除成員

/teams/groups/:groupId/members

從計費分組中移除團隊成員。被移除的成員會移動到 Unassigned 分組。每個團隊每分鐘最多 20 個請求。

與 SCIM 同步的計費分組無法通過 API 修改。對於與 SCIM 同步的分組,所有成員變更都必須通過 SCIM 進行管理。

參數

groupId string 必填

編碼後的分組 ID

userIds string[] 必填

待移除的編碼後用戶 ID 數組

curl -X DELETE https://api.cursor.com/teams/groups/group_PDSPmvukpYgZEDXsoNirw3CFhy/members \
  -u YOUR_API_KEY: \
  -H "Content-Type: application/json" \
  -d '{
    "userIds": ["user_def456"]
  }'

響應:

{
  "group": {
    "id": "group_PDSPmvukpYgZEDXsoNirw3CFhy",
    "name": "Engineering",
    "type": "BILLING",
    "directoryGroupId": null,
    "memberCount": 1,
    "createdAt": "2024-01-15T10:30:00.000Z",
    "updatedAt": "2024-01-25T17:00:00.000Z",
    "members": [
      {
        "userId": "user_abc123",
        "name": "Alex Developer",
        "email": "alex@company.com",
        "joinedAt": "2024-01-25T16:50:00.000Z"
      }
    ]
  }
}

模型訪問

模型訪問路由目前處於預覽階段,可能會發生變化。在正式發佈前,路徑、響應字段和錯誤行爲均可能調整。

讀取和更新團隊的模型訪問策略:自定義策略是否已啓用、新提供商和模型的默認值、按提供商和每個模型設置的開關,以及每個模型的設置,例如 Fast 和推理工作量。

啓用未設置參數的模型時,將保留目錄默認值。當這些默認值 (例如 Fast) 不符合團隊策略時,請使用每個模型的設置。

這些路由返回團隊基線配置。組織羣組仍可爲部分成員擴大訪問權限;羣組允許列表不在此 API 的管理範圍內。個人 API 密鑰 (BYOK) 控制仍需在儀表盤中設置。

如需讀取組織範圍的設置,或對關聯團隊進行批量切換,請參閱組織 API 模型訪問路由。

  • 適用範圍:已啓用模型訪問控制的團隊
  • 身份驗證:團隊 API 密鑰 (Basic auth)。讀取需要 models:read。寫入需要 models:*。具有 admin:* 權限範圍的密鑰兩者均可使用。通用 read:* 密鑰無法調用這些路由。
  • 提供商和模型 ID:路徑段使用目錄 ID,例如 anthropicclaude-opus-4-6,而非顯示名稱。GET 響應中包含顯示名稱。
  • 先配置策略:當 stateunrestricted (或 legacy) 時,對提供商和模型的讀取和寫入會返回 409。對不受限團隊首次執行帶默認值的 PUT /teams/model-access/configuration 會啓用策略,並以當前目錄初始化設置 (與在“模型”頁面首次保存的效果相同) 。後續帶默認值的配置 PUT 僅更新默認值,不會更改現有開關。
  • 恢復爲不受限狀態:使用 { "state": "unrestricted" } 執行 PUT /teams/model-access/configuration 會清除自定義策略,使 state 再次變爲 unrestricted
  • 速率限制:每分鐘 20 個請求。寫入會以 team_settings 事件的形式出現在團隊審計日誌中。請參閱速率限制和最佳實踐

獲取模型訪問配置

/teams/model-access/configuration

返回團隊是否設置了自定義模型訪問策略,以及新發現的提供商和模型的默認值。

響應字段

teamId number

由 API 密鑰確定的整數團隊 ID。

state string

取值爲 unrestrictedcustomlegacy

newProviderDefault string | null

statecustom 時,取值爲 enableddisabled;否則爲 null

newModelDefault string | null

statecustom 時,取值爲 enableddisabled;否則爲 null

curl -X GET https://api.cursor.com/teams/model-access/configuration \
  -u YOUR_API_KEY:

響應:

{
  "teamId": 7,
  "state": "unrestricted",
  "newProviderDefault": null,
  "newModelDefault": null
}

更新模型訪問配置

/teams/model-access/configuration

創建自定義策略、更新默認值,或將團隊恢復爲不受限狀態。

發送以下任一內容:

  • { "state": "unrestricted" }:清除自定義策略 (以及舊版允許/阻止列表) ,將 state 設爲 unrestricted
  • { "newProviderDefault", "newModelDefault" }:創建或更新自定義策略 (state: "custom" 的向後兼容簡寫)

對於不受限團隊,首次發送默認值 PUT 請求會創建自定義策略並初始化目錄條目。後續默認值 PUT 請求僅更新默認值,保留現有開關設置。

請求體

state string

可選。使用 unrestricted 清除策略。發送默認值時請省略。

newProviderDefault string

enableddisabled。創建或更新自定義策略時必填;當 stateunrestricted 時請省略。

newModelDefault string

enableddisabled。創建或更新自定義策略時必填;當 stateunrestricted 時請省略。

curl -X PUT https://api.cursor.com/teams/model-access/configuration \
  -u YOUR_API_KEY: \
  -H "Content-Type: application/json" \
  -d '{
    "newProviderDefault": "disabled",
    "newModelDefault": "enabled"
  }'

響應:

{
  "teamId": 7,
  "state": "custom",
  "newProviderDefault": "disabled",
  "newModelDefault": "enabled"
}

將團隊恢復爲不受限狀態:

curl -X PUT https://api.cursor.com/teams/model-access/configuration \
  -u YOUR_API_KEY: \
  -H "Content-Type: application/json" \
  -d '{ "state": "unrestricted" }'

響應:

{
  "teamId": 7,
  "state": "unrestricted",
  "newProviderDefault": null,
  "newModelDefault": null
}

列出模型訪問提供商

/teams/model-access/providers

列出目錄中的提供商和模型,包括最終解析的啓用狀態及每個模型的 parameters。如果團隊沒有自定義策略,則返回 409

每個模型都包含由目錄定義的 parameters 數組。參數 ID 和支持的值來自模型目錄 (例如 fastreasoningeffortcontext) 。在寫入前,可通過此 GET 請求瞭解模型支持哪些參數。

模型 parameters 字段

id string

參數 ID (例如 fastreasoning) 。

displayName string

易於理解的顯示標籤。

supportedValues string[]

目錄允許該模型使用此參數的所有值。

allowedValues string[]

團隊策略當前允許的值。

configuredDefaultValue string | null

管理員固定的默認值;未設置時爲 null

catalogDefaultValue string | null

該模型中此參數的目錄默認值。

curl -X GET https://api.cursor.com/teams/model-access/providers \
  -u YOUR_API_KEY:

響應:

{
  "teamId": 7,
  "state": "custom",
  "providers": [
    {
      "id": "anthropic",
      "displayName": "Anthropic",
      "enabled": true,
      "models": [
        {
          "id": "claude-opus-4-6",
          "displayName": "Opus 4.6",
          "enabled": true,
          "parameters": [
            {
              "id": "fast",
              "displayName": "Fast",
              "supportedValues": ["false", "true"],
              "allowedValues": ["false", "true"],
              "configuredDefaultValue": null,
              "catalogDefaultValue": "true"
            }
          ]
        }
      ]
    },
    {
      "id": "openai",
      "displayName": "OpenAI",
      "enabled": true,
      "models": [
        {
          "id": "gpt-5.4",
          "displayName": "GPT-5.4",
          "enabled": true,
          "parameters": [
            {
              "id": "reasoning",
              "displayName": "Reasoning",
              "supportedValues": ["low", "medium", "high", "xhigh", "max"],
              "allowedValues": ["low", "medium", "high"],
              "configuredDefaultValue": "high",
              "catalogDefaultValue": "medium"
            }
          ]
        }
      ]
    }
  ]
}

更新模型訪問提供商

/teams/model-access/providers/:provider

啓用或禁用提供商。如果團隊仍爲 unrestrictedlegacy,則返回 409

參數

provider string 必填

目錄中的提供商 ID (例如 openaianthropic) 。

請求體

enabled boolean 必填

curl -X PUT https://api.cursor.com/teams/model-access/providers/openai \
  -u YOUR_API_KEY: \
  -H "Content-Type: application/json" \
  -d '{"enabled": false}'

列出提供商的模型

/teams/model-access/providers/:provider/models

列出某個提供商的模型及其最終解析的啓用狀態和每個模型的 parameters。參數字段與提供商響應一致。如果團隊沒有自定義策略,則返回 409

參數

provider string 必填

目錄中的提供商 ID (例如 anthropic) 。

curl -X GET https://api.cursor.com/teams/model-access/providers/anthropic/models \
  -u YOUR_API_KEY:

更新模型訪問模型

/teams/model-access/providers/:provider/models/:model

啓用或禁用單個模型,並可選擇設置每個模型的參數限制和默認值。團隊仍爲 unrestrictedlegacy 時,返回 409

參數

provider string 必填

目錄中的提供商 ID (例如 anthropic) 。

model string 必填

模型目錄中的模型 ID (例如 claude-opus-4-6) 。

請求體

enabled boolean 必填

parameters object

可選的從參數 ID 到設置的映射。未提供的參數和字段將保持不變。

  • allowedValues string[] | null: 限制成員可選擇的值。傳入 null 可清除限制。
  • defaultValue string | null: 團隊的默認值。設置限制時,必須包含在 allowedValues 中。傳入 null 可恢復目錄默認值。

未知的參數 ID 或值、空的 allowedValues 數組、不在 allowedValues 中的默認值,以及解析後沒有有效模型變體的設置均返回 400

在模型上禁用 Fast:

curl -X PUT https://api.cursor.com/teams/model-access/providers/anthropic/models/claude-opus-4-6 \
  -u YOUR_API_KEY: \
  -H "Content-Type: application/json" \
  -d '{
    "enabled": true,
    "parameters": {
      "fast": { "allowedValues": ["false"] }
    }
  }'

設置允許的推理級別和默認值:

curl -X PUT https://api.cursor.com/teams/model-access/providers/openai/models/gpt-5.4 \
  -u YOUR_API_KEY: \
  -H "Content-Type: application/json" \
  -d '{
    "enabled": true,
    "parameters": {
      "reasoning": {
        "allowedValues": ["low", "medium", "high"],
        "defaultValue": "high"
      }
    }
  }'

清除限制並恢復目錄默認值:

curl -X PUT https://api.cursor.com/teams/model-access/providers/openai/models/gpt-5.4 \
  -u YOUR_API_KEY: \
  -H "Content-Type: application/json" \
  -d '{
    "enabled": true,
    "parameters": {
      "reasoning": {
        "allowedValues": null,
        "defaultValue": null
      }
    }
  }'

響應:

{
  "id": "gpt-5.4",
  "displayName": "GPT-5.4",
  "enabled": true,
  "provider": "openai",
  "parameters": [
    {
      "id": "reasoning",
      "displayName": "Reasoning",
      "supportedValues": ["low", "medium", "high", "xhigh", "max"],
      "allowedValues": ["low", "medium", "high", "xhigh", "max"],
      "configuredDefaultValue": null,
      "catalogDefaultValue": "medium"
    }
  ]
}

錯誤

錯誤響應體使用:

{ "code": "error", "message": "…" }
狀態 發生情況
401 Key 無效,或缺少 models:read / models:* (或 admin:*) 權限
403 該團隊無法使用模型訪問控制
409 stateunrestrictedlegacy 時讀取或寫入 提供商 或模型
400 提供商、模型、參數 ID 或參數值未知;響應體無效;allowedValues 爲空;默認值不在 allowedValues 範圍內;會解析爲無有效模型變體的設置;或會阻止 Smart Auto 所需的模型
羽毛球分组比赛记分
小程序二维码

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

小夜