Cursor Spend API

Spending data and per-user spend limits

OpenAPI Specification

cursor-spend-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Cursor Admin Audit Logs Spend API
  description: The Cursor Admin API allows team and enterprise administrators to programmatically manage members, billing groups, audit logs, daily usage data, spending, repository indexing blocklists, and per-user spend limits for their Cursor team. Authentication uses HTTP Basic Authentication with the API key as the username and an empty password.
  version: 1.0.0
  contact:
    name: Cursor Support
    url: https://cursor.com/support
servers:
- url: https://api.cursor.com
  description: Cursor Admin API production endpoint
security:
- BasicAuth: []
tags:
- name: Spend
  description: Spending data and per-user spend limits
paths:
  /teams/user-spend-limit:
    post:
      tags:
      - Spend
      summary: Set user spend limit
      description: Control an individual user's spend cap in dollars. Enterprise only.
      operationId: setUserSpendLimit
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - userId
              - hardLimit
              properties:
                userId:
                  type: string
                hardLimit:
                  type: number
                  description: Hard spend cap in USD
      responses:
        '200':
          description: Spend limit applied
  /teams/spend:
    post:
      tags:
      - Spend
      summary: Get spending data
      description: Per-user spend for the current billing cycle with search and sorting.
      operationId: getSpend
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                searchTerm:
                  type: string
                sortBy:
                  type: string
                sortDirection:
                  type: string
                  enum:
                  - asc
                  - desc
      responses:
        '200':
          description: Per-user spend data
          content:
            application/json:
              schema:
                type: object
                properties:
                  spend:
                    type: array
                    items:
                      $ref: '#/components/schemas/UserSpend'
components:
  schemas:
    UserSpend:
      type: object
      properties:
        userId:
          type: string
        userEmail:
          type: string
        spendCents:
          type: integer
        hardLimit:
          type: number
  securitySchemes:
    BasicAuth:
      type: http
      scheme: basic
      description: Basic Authentication with API key as the username and empty password.