이 API는 첫 릴리스야. 피드백을 바탕으로 기능을 확장 중이니까, 필요한 엔드포인트를 알려줘!
인증
API 키 생성하기
- cursor.com/dashboard → Settings 탭 → Cursor Admin API Keys로 이동
- Create New API Key 클릭
- 키에 알아보기 쉬운 이름 지정 (예: “Usage Dashboard Integration”)
- 생성된 키를 바로 복사해 둬 — 다시는 확인할 수 없어
key_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
API 키 사용하기
기본 URL
엔드포인트
팀 멤버 가져오기
Response
예시 응답
예시 요청
일일 사용량 데이터 가져오기
요청 본문
매개변수 | 타입 | 필수 | 설명 |
---|---|---|---|
startDate | number | 예 | 에포크 밀리초 기준 시작 날짜 |
endDate | number | 예 | 에포크 밀리초 기준 종료 날짜 |
날짜 범위는 최대 90일이야. 더 긴 기간이 필요하면 여러 번 나눠서 요청해.
응답
응답 필드
Field | Description |
---|---|
date | 에포크 밀리초 단위의 날짜 |
isActive | 해당 날짜에 사용자 활동 여부 |
totalLinesAdded | 추가된 코드 줄 수 |
totalLinesDeleted | 삭제된 코드 줄 수 |
acceptedLinesAdded | 수락된 AI 제안으로 추가된 줄 수 |
acceptedLinesDeleted | 수락된 AI 제안으로 삭제된 줄 수 |
totalApplies | 적용(Apply) 작업 수 |
totalAccepts | 수락된 제안 수 |
totalRejects | 거절된 제안 수 |
totalTabsShown | 표시된 탭 자동완성 수 |
totalTabsAccepted | 수락된 탭 자동완성 수 |
composerRequests | Composer 요청 수 |
chatRequests | Chat 요청 수 |
agentRequests | Agent 요청 수 |
cmdkUsages | 명령 팔레트(Cmd+K) 사용 횟수 |
subscriptionIncludedReqs | 구독 포함 요청 수 |
apiKeyReqs | API 키 요청 수 |
usageBasedReqs | 사용량 기반 과금 요청 수 |
bugbotUsages | 버그 감지 사용 횟수 |
mostUsedModel | 가장 많이 사용된 AI 모델 |
applyMostUsedExtension | Apply에서 가장 많이 사용된 파일 확장자 |
tabMostUsedExtension | 탭에서 가장 많이 사용된 파일 확장자 |
clientVersion | Cursor 버전 |
email | 사용자 이메일 |
예시 응답
예시 요청
지출 데이터 가져오기
요청 본문
매개변수 | 타입 | 필수 | 설명 |
---|---|---|---|
searchTerm | string | 아니오 | 사용자 이름과 이메일에서 검색 |
sortBy | string | 아니오 | 정렬 기준: amount , date , user . 기본값: date |
sortDirection | string | 아니오 | 정렬 방향: asc , desc . 기본값: desc |
page | number | 아니오 | 페이지 번호(1부터 시작). 기본값: 1 |
pageSize | number | 아니오 | 페이지당 결과 개수 |
응답
응답 필드
Field | Description |
---|---|
spendCents | 센트 단위 총 지출액 |
fastPremiumRequests | Fast 프리미엄 모델 요청 수 |
name | 멤버 이름 |
email | 멤버 이메일 |
role | 팀 역할 |
hardLimitOverrideDollars | 사용자 지정 지출 한도 오버라이드(달러) |
subscriptionCycleStart | 구독 주기 시작 시각(에포크 밀리초) |
totalMembers | 팀 전체 멤버 수 |
totalPages | 총 페이지 수 |
예시 응답
예시 요청
사용량 이벤트 데이터 가져오기
요청 본문
매개변수 | 타입 | 필수 | 설명 |
---|---|---|---|
startDate | number | 아니오 | 에포크 밀리초 기준 시작 날짜 |
endDate | number | 아니오 | 에포크 밀리초 기준 종료 날짜 |
userId | number | 아니오 | 특정 사용자 ID로 필터링 |
page | number | 아니오 | 페이지 번호(1부터 시작). 기본값: 1 |
pageSize | number | 아니오 | 페이지당 결과 수. 기본값: 10 |
email | string | 아니오 | 사용자 이메일 주소로 필터링 |
응답
응답 필드 설명
Field | Description |
---|---|
totalUsageEventsCount | 쿼리와 일치하는 사용 이벤트의 총 개수 |
pagination | 결과 탐색을 위한 페이지네이션 메타데이터 |
timestamp | 에포크 밀리초 단위의 이벤트 타임스탬프 |
model | 요청에 사용된 AI 모델 |
kind | 사용 유형(예: “Usage-based”, “Included in Business”) |
maxMode | Max 모드가 활성화되었는지 여부 |
requestsCosts | 요청 단위 기준 비용 |
isTokenBasedCall | 이벤트가 사용량 기반으로 과금될 때 true |
tokenUsage | 토큰 사용량 상세(이 값은 isTokenBasedCall이 true일 때 제공) |
isFreeBugbot | 무료 Bugbot 사용인지 여부 |
userEmail | 요청을 보낸 사용자의 이메일 |
period | 쿼리한 데이터의 날짜 범위 |
예시 응답
예시 요청
사용자 지출 한도 설정
요청 제한: 팀별 분당 60회
요청 본문
매개변수 | 타입 | 필수 | 설명 |
---|---|---|---|
userEmail | string | Yes | 팀 구성원의 이메일 주소 |
spendLimitDollars | number | Yes | 달러 기준 지출 한도(정수만, 소수점 없음). |
- 사용자는 이미 네 팀의 구성원이어야 해
- 정수값만 허용돼(소수 단위는 불가)
spendLimitDollars
를 0으로 설정하면 한도가 $0으로 지정돼
Response
예시 응답
예시 요청
Repo Blocklists API
팀 리포지토리 차단목록 가져오기
응답
예시 응답
예시 요청
Repo Blocklists 업서트
요청 본문
매개변수 | 타입 | 필수 | 설명 |
---|---|---|---|
repos | array | 예 | 저장소 블록리스트 객체 배열 |
필드 | 타입 | 필수 | 설명 |
---|---|---|---|
url | string | 예 | 블록리스트에 추가할 저장소 URL |
patterns | string[] | 예 | 차단할 파일 패턴 배열(글롭 패턴 지원) |
Response
예시 요청
Repo Blocklist 삭제
매개변수
매개변수 | 타입 | 필수 | 설명 |
---|---|---|---|
repoId | string | 예 | 삭제할 리포지토리 블록리스트의 ID |
응답
예시 요청
패턴 예시
*
- 저장소 전체 차단*.env
- 모든 .env 파일 차단config/*
- config 디렉터리의 모든 파일 차단**/*.secret
- 모든 하위 디렉터리의 .secret 파일 차단src/api/keys.ts
- 특정 파일 차단