PLANS / get-pooled-usage-via-org-api

Plans

Get pooled usage with the Organization API

Read the organization spend pool — limit, used, remaining, contract window, and a per-team breakdown — with POST https://api.cursor.com/organizations/pooled-usage. Monetary fields are in cents. Official reference: Organization API → Get Pooled Usage.

Authenticate with an Organization API key (Basic auth, key as username, empty password). Usage routes need usage:* (or admin:*). Enterprise only. For a single team’s cycle spend, use the team Admin API instead (Get team spend).

Usage aggregates at the hourly level. Poll at most once per hour. Org usage routes share the 20 requests per minute rate limit.

Request

curl -X POST https://api.cursor.com/organizations/pooled-usage \
  -u YOUR_ORGANIZATION_API_KEY: \
  -H "Content-Type: application/json" \
  -d '{
    "organizationId": "org_abc123"
  }'
Field Rules
organizationId Required. Public org id. Must match the key’s organization

Response

{
  "pool": {
    "limitCents": 5000000,
    "usedCents": 1862340,
    "remainingCents": 3137660,
    "contractStartDate": "2026-01-01T00:00:00.000Z",
    "contractEndDate": "2026-12-31T23:59:59.999Z"
  },
  "teams": [
    {
      "teamId": 7,
      "usedCents": 1440100,
      "budgetLimitCents": 2000000
    },
    {
      "teamId": 8,
      "usedCents": 422240
    }
  ]
}
Field Meaning
pool.limitCents Pooled spend limit for the organization, in cents
pool.usedCents Total pooled usage so far, in cents
pool.remainingCents limitCents minus usedCents
pool.contractStartDate / contractEndDate ISO 8601 contract window, or null when unset
teams[].teamId Linked team integer id
teams[].usedCents That team’s usage in the current contract period
teams[].budgetLimitCents Optional per-team budget cap in cents (omitted when unset)

The sum of every teams[].usedCents equals pool.usedCents.

Pitfalls

  • Body organizationId must match the Organization API key or the call is rejected.
  • Every linked team in the pool is included automatically; there is no teamIds filter on this route.
  • Sum event-level chargedCents from POST /organizations/filtered-usage-events when you need line-item reconciliation against these team totals (same official Organization API page).
  • members:* alone is not enough — mint a key with usage:* or admin:* for reporting.